mysql group by多个字段
问题描述
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
相关文章:
1. docker内创建jenkins访问另一个容器下的服务器问题2. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?3. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?4. css3 - 学习css构建图形时,遇到一个很有意思的现象,具体代码如下5. 极光推送 - Android app消息推送 百度 极光 个推 信鸽哪个好一些?6. javascript - js闭包作用域7. html5 - 百度echart官网下载的地图json数据乱码8. html - css 使用字体的时候,格式有什么特殊要求吗?9. 微信开放平台 - android 微信支付后点完成按钮,后回调打开第三方页面,屏幕闪动,求解决方法10. javascript - echart+百度地图
