MYSQL使用group by,如何查询出总记录数
SELECT
t.report_date,
t.user_id
FROM
my_table t
GROUP BY
t.user_id,
t.report_date
比如有这样一条SQL,根据t.user_id,t.report_date两个字段统计
这样前端页面能展示数据,但往往需要一个总记录数,在有分页的情况下用到
一种解决方法是在外面套一层,然后对其count(*)
SELECT COUNT(*) FROM ( SELECT t.report_date, t.user_id FROM my_table t GROUP BY t.user_id, t.report_date ) AA
还有一种简单的方法可以这样写
SELECT
COUNT( DISTINCT report_date, user_id )
FROM
my_table
这样就针对上面的group by查询显示其总记录数
如果只对user_id group by
SELECT
t.user_id
FROM
my_table t
GROUP BY
t.user_id
SELECT
COUNT( DISTINCT user_id )
FROM
my_table