sql >> Databasteknik >  >> RDS >> Mysql

Hur räknar man alla poster men bara hämtar (LIMIT) ett specifikt nummer för visning?

MySQL har något speciellt stöd för den här typen av saker. Inkludera först SQL_CALC_FOUND_ROWS i ditt SELECT:

SELECT SQL_CALC_FOUND_ROWS *
FROM Badges
WHERE UID = '$user'
ORDER by Date DESC
LIMIT 10 -- Or whatever

Dra sedan ut dina rader och titta sedan omedelbart på FOUND_ROWS() så här:

SELECT FOUND_ROWS()

för att få antalet rader som matchade din ursprungliga fråga utan att ta hänsyn till LIMIT-satsen.

Det här är MySQL-specifikt men det borde vara lite snabbare än att göra två frågor.



  1. Sammankoppla grupper i SQL Server

  2. exportera frågeresultat som CSV via PHP

  3. Hur visar jag statistik över databasfrågor på Wordpress-webbplatsen?

  4. MariaDB JSON_COMPACT() Förklarad