sql >> Databáze >  >> RDS >> Mysql

Jak vybrat stránkování podle počtu N záznamů z databáze MySQL?

první sto

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 0, 100

další sto

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 100, 100

jste velmi pozorní při zadávání objednávky do

VYSVĚTLENÍ LIMITNÍHO PROHLÁŠENÍ: LIMIT příkaz NENÍ WHERE doložka. Nevybírá podle id ani ve skutečnosti podle žádných kritérií (tam where klauzule to dělá) Místo toho limit klauzule jednoduše zajistí, že vám bude vrácena část block výsledků, které jsou podmnožinou „všeho“. Proto je důležité zmínit order by pokaždé, takže každý další hovor vám poskytne správný kus datového bloku v pořadí a můžete přes ně „další“, „další“, „další“

EG:pro neuspořádanou tabulku this_table :

+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  12   |     fish    |
|  112  |     pink    |
|  2    |     cat     |
|  8    |     dog     |
|  56   |     blue    |
|  88   |     grey    |
|  87   |     red     |
+-------+-------------+

výběry se vrátí následovně:

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 0,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  2    |     cat     |
|  8    |     dog     |
|  12   |     fish    |
|  56   |     blue    |
+-------+-------------+

a

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 5,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  87   |     red     |
|  88   |     grey    |
|  112  |     pink    |
+-------+-------------+

všimněte si, že chybí řádky 9 a 10, je to záměrné a ukazuje to, že MySQL funguje tak, jak bylo zamýšleno

mimochodem byste se měli také podívat na přidání indexu na id tím se MASIVNĚ zvýší rychlost těchto voleb

ALTER TABLE <table_name> ADD INDEX `id` (`id`)


  1. Vyberte sloupec s názvem klíčového slova

  2. Jak vložit více než 1000 hodnot do klauzule Oracle IN

  3. Najděte počet EMPTY nebo NULL sloupců v tabulce MySQL

  4. Potíže s Apache v Xampp po několika instalacích Apache