您的位置:首页技术文章
文章详情页

mysql group by多个字段

浏览:42日期:2022-06-20 10:25:55

问题描述

SELECT 用户ID, FROM_UNIXTIME(时间戳,’%Y%m’) month FROM table GROUP BY month,用户ID

以上语句想在table表中查询出用户ID和月份,然后使用月份和用户ID(表中同一个用户ID可能出现多次)进行分组,如何在SELECT后添加一个数量字段再按月份统计出用户的数量?

问题解答

回答1:

能不能别把问题也写在代码里。。。考虑一下用户体验啊。。。

回答2:

对的,group by后面可以跟多个字段,用逗号分隔开就好。

回答3:

楼主这句话(表中同一个用户ID可能出现多次),我能理解成想取出每个月的不重复用户数量吗?

如果是的话Sql语句就是这样的

SELECT COUNT(DISTINCT 用户ID) count,FROM_UNIXTIME(时间戳,’%Y%m’) month FROM table GROUP BY month

如果不是的话就是这样

SELECT COUNT(用户ID) count,FROM_UNIXTIME(时间戳,’%Y%m’) month FROM table GROUP BY month回答4:

用这样的形式 count(xxxx) as xxxx_num

回答5:

如果按楼主的要求 要把所有用户id 单列显示出来不太现实吧 如果按月份统计用户的数量应该是SELECT COUNT(DISTINCT 用户ID) count,FROM_UNIXTIME(时间戳,’%Y%m’) month FROM table GROUP BY month

相关文章: