🧚 Ascolta! Beekeeper Studio è una GUI per MySQL veloce, moderna e open source Scarica
14 marzo 2025 Di Matthew Rathbone

Come selezionare le prime N righe in MySQL

Selezionare le prime N righe di una tabella è un'operazione fondamentale quando lavori con i database. In questo tutorial vediamo come farlo in MySQL con esempi pratici.

Prima di continuare a leggere, volevo parlarti del nostro client MySQL moderno, Beekeeper Studio. Apri una tabella e scorre le righe pagina per pagina al posto tuo, oppure fai clic destro e scegli SQL: Select Top per ottenere la query. Per MySQL è gratuito, scaricalo qui.

Usare la clausola LIMIT

La clausola LIMIT di MySQL è un modo semplice per indicare quante righe restituire dal result set di una query.

Esempio: selezionare le prime 5 righe

Supponiamo che tu abbia una tabella chiamata employees con il seguente schema:

CREATE TABLE employees (
    id INT,
    name VARCHAR(100),
    salary DECIMAL(10, 2)
);

Vuoi selezionare i 5 dipendenti con lo stipendio più alto, in ordine decrescente.

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC 
LIMIT 5;

Perché funziona:

  1. ORDER BY salary DESC ordina le righe dallo stipendio più alto al più basso.
  2. LIMIT 5 limita l'output alle prime 5 righe dopo l'ordinamento.

Output atteso:

+----+----------+--------+
| id | name     | salary |
+----+----------+--------+
|  3 | Alice    | 90000  |
|  5 | Bob      | 85000  |
|  2 | Charlie  | 75000  |
|  6 | Diana    | 70000  |
|  4 | Edward   | 68000  |
+----+----------+--------+

Gestire i pareggi con LIMIT

In caso di valori a pari merito, usare solo LIMIT potrebbe non dare risultati coerenti senza gestire in modo specifico i pareggi. Aggiungi altre colonne all'ORDER BY per risolverli.

Esempio: gestire i pareggi con un ordinamento secondario

Per gestire gli stipendi a pari merito, ordina anche per id del dipendente come criterio secondario:

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC, id ASC 
LIMIT 5;

Perché funziona:

  • Aggiungendo id ASC, a parità di stipendio vengono scelti sempre i dipendenti con l'id più basso.

Usare LIMIT per la paginazione

Oltre a selezionare le prime N righe, spesso serve paginare i risultati selezionando un intervallo specifico di righe.

Esempio: selezionare le 5 righe successive

Per paginare i risultati e selezionare le righe dalla 6 alla 10 in base allo stipendio:

SELECT id, name, salary 
FROM employees 
ORDER BY salary DESC 
LIMIT 5 OFFSET 5;

Perché funziona:

  • LIMIT 5 indica il numero di righe da restituire.
  • OFFSET 5 salta le prime 5 righe.

Output atteso:

I 5 dipendenti successivi ai primi 5:

+----+---------+--------+
| id | name    | salary |
+----+---------+--------+
|  1 | Frank   | 67000  |
|  7 | Grace   | 64000  |
|  8 | Hannah  | 60000  |
|  9 | Ivan    | 59000  |
| 10 | Jane    | 58000  |
+----+---------+--------+

Conclusione

Selezionare le prime N righe in MySQL con la clausola LIMIT è semplice ed efficiente. In caso di possibili pareggi, garantisci un ordinamento stabile aggiungendo altre colonne all'ORDER BY. Questa tecnica semplice è essenziale in molte applicazioni, come analytics e reportistica, soprattutto quando lavori con grandi dataset.

Padroneggiando queste tecniche avrai più controllo sul recupero e sulla manipolazione dei dati in MySQL.

Beekeeper Studio è una GUI per MySQL gratuita e open source

Ultimamente uso Beekeeper Studio per il mio lavoro con MySQL e è diventato in fretta uno dei miei strumenti per database preferiti. L'interfaccia è pulita, moderna e senza distrazioni, così è facile concentrarsi sulle query senza il disordine che trovi in altri strumenti. - Surendra Singh

Beekeeper Studio è un client MySQL veloce, intuitivo e facile da usare. Supporta anche tantissimi altri database e funziona alla grande su Windows, Mac e Linux.

La versione Linux di Beekeeper è completa al 100%, senza tagli e senza compromessi sulle funzionalità.

Cosa dicono gli utenti MySQL di Beekeeper Studio

Beekeeper Beekeeper Ancora alle prime armi

Ho scelto questo programma dopo anni di phpMyAdmin: è come entrare in un mondo di qualità superiore; qui ho sentito davvero che l'utente è curato sul serio. L'idea stessa, la realizzazione, l'esperienza pratica: sono sinceramente grato a Matthew per tutto questo.

Alex M

Strumento fantastico, l'IDE più pratico che abbia trovato finora per amministrare database Postgres e MySql: funziona e basta, senza complicazioni :-)

Pronto a migliorare il tuo workflow MySQL?

download Scarica gratis