Czy istnieje sposób w MySQL na pominięcie pierwszych 10 wyników zapytania SELECT? Chciałbym, żeby działało jak LIMIT.
Czy istnieje sposób w MySQL na pominięcie pierwszych 10 wyników zapytania SELECT? Chciałbym, żeby działało jak LIMIT.
Odpowiedzi:
Użyj LIMIT z dwoma parametrami. Na przykład, aby zwrócić wyniki 11-60 (gdzie wynik 1 to pierwszy wiersz), użyj:
SELECT * FROM foo LIMIT 10, 50
Rozwiązanie umożliwiające zwrócenie wszystkich wyników można znaleźć w odpowiedzi Thomasa .
Jest też OFFSET, który powinien załatwić sprawę:
SELECT column FROM table
LIMIT 10 OFFSET 10
limit 10,10
Z instrukcji :
Aby pobrać wszystkie wiersze od określonego przesunięcia do końca zestawu wyników, możesz użyć dużej liczby dla drugiego parametru. Ta instrukcja pobiera wszystkie wiersze od 96. do ostatniego wiersza:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
Oczywiście należy zamienić 95na 10. Nawiasem mówiąc, duża liczba, której używają, to 2 ^ 64 - 1.
LIMIT pozwala na pominięcie dowolnej liczby wierszy. Ma dwa parametry, a pierwszy z nich - ile wierszy ma zostać pominiętych
select * from table where id not in (select id from table limit 10)
gdzie idjest klucz w twoim stole.
Jeśli Twój stół ma zamawianie według identyfikatora, możesz to łatwo zrobić przez:
select * from table where id > 10