Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak policzyć wszystkie rekordy, ale tylko pobrać (LIMIT) określoną liczbę do wyświetlenia?

MySQL ma specjalne wsparcie dla tego typu rzeczy. Najpierw uwzględnij SQL_CALC_FOUND_ROWS w WYBIERZ:

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

Następnie wyciągnij wiersze i od razu spójrz na FOUND_ROWS() tak:

SELECT FOUND_ROWS()

aby uzyskać liczbę wierszy pasujących do oryginalnego zapytania bez uwzględniania klauzuli LIMIT.

Jest to specyficzne dla MySQL, ale powinno być trochę szybsze niż wykonywanie dwóch zapytań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql - połącz się ze zdalnym serwerem za pomocą adresu IP

  2. Sporadyczny wyjątek NullPointerException w ResultSetImpl.checkColumnBounds lub ResultSetImpl.getStringInternal

  3. Jaka jest różnica między MySQLdb, mysqlclient i MySQL Connector/Python?

  4. Różnica między NOW(), SYSDATE() i CURRENT_DATE() w MySQL

  5. MySQL sprawdza, czy dwa zakresy dat pokrywają się z danymi wejściowymi