工作中要根据用户发布的产品数量来排序做分页,使用group by uid 用count(uid) 来统计的数量和想要的数量不正确。

count统计的数量是被group by 分组以后每一组中数据的数量,而不是分组的数量。

解决方法:使用子查询

 

  1. SELECT COUNT(1) FROM
  2.   SELECT uid,COUNT(uid) FROM test GROUP BY product  
  3. ) test 

总结:有时候是在解决不了时,不妨考虑下子查询。虽然好多人说不要用子查询~