Mysql
 sql >> база данни >  >> RDS >> Mysql

Вземете резултати от заявка за броене, като игнорирате израза LIMIT

MySQL поддържа FOUND_ROWS() функция за да намерите неограничен брой редове, които биха били върнати от предишната ограничена заявка.

SELECT SQL_CALC_FOUND_ROWS * FROM blah WHERE disabled = '0'  LIMIT 10,20
SELECT FOUND_ROWS();

Имайте предвид, че (а) трябва да включите SQL_CALC_FOUND_ROWS опция и (б) че това е конкретно разширение на MySQL, което няма да работи на друга RDBMS (въпреки че всяко от тях може имат свой собствен начин да направят това.)

Това не е непременно най-добрият начин за правене на нещата, дори ако може да ви се струва; все още трябва да издадете две изявления, въвеждате нестандартен SQL и действителния COUNT ing вероятно ще бъде подобна скорост на обикновен SELECT COUNT(*)... така или иначе. Лично аз бих бил склонен да се придържам към стандартния начин да го направя.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel :Недефиниран индекс:драйвер

  2. Как да активирате бавни регистрационни файлове за заявки в AWS RDS MySQL

  3. Как да покажа вторичните записи в дъщерния ред на таблицата с данни със съответния идентификатор?

  4. Entity Framework с mysql, проблем с главни букви на таблицата между linux и windows

  5. Автоматичен начин за конвертиране на XML файлове в SQL база данни?