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

Uzyskaj zliczanie wyników zapytania z ignorowaniem instrukcji LIMIT

MySQL obsługuje FOUND_ROWS() funkcja aby znaleźć nieograniczoną liczbę wierszy, które zostałyby zwrócone z poprzedniego ograniczonego zapytania.

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

Zauważ, że (a) musisz dołączyć SQL_CALC_FOUND_ROWS oraz (b) że jest to konkretne rozszerzenie MySQL, które nie będzie działać na innym RDBMS (chociaż każde z nich może mają na to swój własny sposób.)

Niekoniecznie jest to najlepszy sposób robienia rzeczy, nawet jeśli może się tak wydawać; nadal musisz wydać dwie instrukcje, wprowadzasz niestandardowy SQL, a rzeczywiste COUNT ing prawdopodobnie będzie miał podobną prędkość do prostego SELECT COUNT(*)... w każdym razie. Sam byłbym skłonny trzymać się standardowego sposobu robienia tego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubuntu - 12.04 - MySql nie uruchamia się przy użyciu usługi mysql start

  2. wybierz znacznik czasu starszy niż

  3. Jak uzyskać liczbę każdej odrębnej wartości w kolumnie?

  4. Transakcja MySQL na dwóch bazach danych na różnych serwerach

  5. MySQL - Jak wyświetlić wszystkie rekordy dni w danym miesiącu?