【发布时间】:2010-09-26 18:16:55
【问题描述】:
我有一个查询
SELECT 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
我想知道这个查询在没有 LIMIT 的情况下返回的总行数(这样我可以显示分页信息)。
通常,我会使用这个查询:
SELECT COUNT(t3.id) FROM t1, t2, t3
WHERE (associate t1,t2, and t3 with each other)
GROUP BY t3.id
但是 GROUP BY 改变了 COUNT 的含义,相反,我得到了一组行,表示每个组中唯一 t3.id 值的数量。
当我使用 GROUP BY 时,有没有办法计算总行数?我想避免执行整个查询而只计算行数,因为我只需要行的一个子集,因为值是分页的。我使用的是 MySQL 5,但我认为这很通用。
【问题讨论】: