Ho una tabella semplice con 300 righe e dopo averle ordinate voglio selezionare le righe 11-50. Limito per 50 e rimuovo le prime 10 righe in qualche modo?Selezionare i risultati dal centro di un elenco ordinato?
5
A
risposta
7
SELECT *
FROM table
ORDER BY somecolumn
LIMIT 10,40
Da manuale di MySQL:
La clausola LIMIT può essere utilizzato per limitare il numero di righe restituite dall'istruzione SELECT. LIMIT accetta uno o due argomenti numerici, che devono essere entrambi costanti integer non negativi (tranne quando si usano istruzioni preparate).
Con due argomenti, il primo argomento specifica l'offset della prima riga da restituire e il secondo specifica il numero massimo di righe da restituire. Lo scostamento della riga iniziale è 0 (non 1)
4
Il LIMIT syntax include un valore di offset, quindi devi usare:
LIMIT 10, 40
... per ottenere le righe 11 - 50, perché la riga di offset iniziale è pari a zero (non 1).