sql >> Databasteknik >  >> RDS >> Mysql

Hämta antalet rader med en GROUP BY-fråga

Det finns en bra lösning i MySQL.

Lägg till nyckelordet SQL_CALC_FOUND_ROWS direkt efter nyckelordet SELECT :

SELECT SQL_CALC_FOUND_ROWS t3.id, a,bunch,of,other,stuff FROM t1, t2, t3 
WHERE (associate t1,t2, and t3 with each other) 
GROUP BY t3.id 
LIMIT 10,20

Efter det, kör en annan fråga med funktionen FOUND_ROWS() :

SELECT FOUND_ROWS();

Det bör returnera antalet rader utan LIMIT-satsen.

Kolla in den här sidan för mer information:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows



  1. GRUPPERA MED att ha MAX datum

  2. MySQL Left Join + Min

  3. Kan inte skapa länkad server - sql-server och mysql

  4. Affärslogik:Databas eller applikationslager