工作中要根据用户发布的产品数量来排序做分页,使用group by uid 用count(uid) 来统计的数量和想要的数量不正确。
count统计的数量是被group by 分组以后每一组中数据的数量,而不是分组的数量。
解决方法:使用子查询
SELECT COUNT(1) FROM(
SELECT uid,COUNT(uid) FROM test GROUP BY product
) test
总结:有时候是在解决不了时,不妨考虑下子查询。虽然好多人说不要用子查询~
作者“olf的个人空间”