MySQL salta i primi 10 risultati


102

C'è un modo in MySQL per far saltare i primi 10 risultati di una query SELECT? Mi piacerebbe che funzionasse qualcosa come LIMIT.


7
in tutte le risposte qui manca una clausola ORDER BY. Le tabelle SQL non hanno un ordine predefinito e senza un ORDER BY esplicito non c'è modo di dire quali sono i primi 10 risultati da saltare
fthiella

Risposte:


125

Usa LIMIT con due parametri. Ad esempio, per restituire i risultati 11-60 (dove il risultato 1 è la prima riga), utilizza:

SELECT * FROM foo LIMIT 10, 50

Per una soluzione che restituisca tutti i risultati, vedere la risposta di Thomas .


E se alcune righe vengono eliminate tra il numero che hai menzionato.
Alex

91

C'è anche un OFFSET che dovrebbe fare il trucco:

SELECT column FROM table
LIMIT 10 OFFSET 10

7
più facile da capire dilimit 10,10
shellbye

40

OFFSET è quello che stai cercando.

SELECT * FROM table LIMIT 10 OFFSET 10

33

Dal manuale :

Per recuperare tutte le righe da un certo offset fino alla fine del set di risultati, è possibile utilizzare un numero elevato per il secondo parametro. Questa istruzione recupera tutte le righe dalla 96a riga all'ultima:

SELECT * FROM tbl LIMIT 95,18446744073709551615;

Ovviamente, dovresti sostituire 95con 10. Il numero elevato che usano è 2 ^ 64 - 1, tra l'altro.


5

LIMIT ti consente di saltare un numero qualsiasi di righe. Ha due parametri e il primo di questi: quante righe saltare


Questo mi ha chiarito che "What is Offset" Thanks @Col. Shrapnel
OM The Eternity

2
select * from table where id not in (select id from table limit 10)

dov'è idla chiave nel tuo tavolo.


Questo è utile e veloce da fare, per impala e altri database in cui il limite con offset richiede un argomento di ordine che non è sempre desiderabile.
KarthikS

-5

Se il tuo tavolo ha l'ordinamento per ID, potresti farlo facilmente:

select * from table where id > 10
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.