mysql group by多个字段
ringa_lee
ringa_lee 2017-04-17 15:07:43
[MySQL讨论组]
SELECT 
    用户ID,
    FROM_UNIXTIME(时间戳,'%Y%m') month 
FROM 
    table 
GROUP BY 
    month,用户ID
以上语句想在table表中查询出用户ID和月份,然后使用月份和用户ID(表中同一个用户ID可能出现多次)进行分组,如何在SELECT后添加一个数量字段再按月份统计出用户的数量?
ringa_lee
ringa_lee

ringa_lee

全部回复(5)
大家讲道理

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

怪我咯

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

黄舟

楼主这句话(表中同一个用户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
PHP中文网

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

天蓬老师

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号