Има хубаво решение в MySQL.
Добавете ключовата дума SQL_CALC_FOUND_ROWS непосредствено след ключовата дума 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
След това изпълнете друга заявка с функцията FOUND_ROWS() :
SELECT FOUND_ROWS();
Трябва да върне броя на редовете без клаузата LIMIT.
Разгледайте тази страница за повече информация:http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows