为了账号安全,请及时绑定邮箱和手机立即绑定

mysql如何date和user_id分组的同时又按date分组得到不同user_id的数据?

mysql如何date和user_id分组的同时又按date分组得到不同user_id的数据?

慕容森 2019-02-26 20:08:20
按date user_id分组得到date user_id2019-01-08 15189102019-01-08 15433582019-01-08 15433582019-01-08 15189102019-01-08 15635742019-01-08 15635742019-01-08 15629392019-01-08 15609242019-01-08 15246862019-01-08 15544952019-01-08 15394852019-01-08 15394852019-01-08 15433582019-01-08 15433562019-01-08 15394852019-01-08 15629392019-01-08 15394852019-01-08 15394852019-01-08 15394852019-01-08 15394852019-01-08 1543358希望得到date user_id total2019-01-08 1518910 92019-01-08 1543358 92019-01-08 1543358 92019-01-08 1518910 92019-01-08 1563574 92019-01-08 1563574 92019-01-08 1562939 92019-01-08 1560924 92019-01-08 1524686 92019-01-08 1554495 92019-01-08 1539485 92019-01-08 1539485 92019-01-08 1543358 92019-01-08 1543356 92019-01-08 1539485 92019-01-08 1562939 92019-01-08 1539485 92019-01-08 1539485 92019-01-08 1539485 92019-01-08 1539485 92019-01-08 1543358 99表示不同的用户数
查看完整描述

2 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

我先理解一下需求,数据 1 是原始数据,数据 2 是拿出原始数据的同时增加一列,这列数据为每个日期下不同 uid 个数

如果理解没错的话,可以用下面这条 SQL 实现(表名假设为test_group)


查看完整回答
反对 回复 2019-02-26
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

select
    b.date, b.user_id, c.total 
from
    test_group b 
join 
    (        select
            date, count(*) as total        from
            (                select
                    date, user_id from test_group                group by
                    user_id,date
            ) a        group by
            date
    ) con
    b.date = c.date;

ps: 复杂的 sql 会有性能问题,自己斟酌哈


查看完整回答
反对 回复 2019-02-26
  • 2 回答
  • 0 关注
  • 565 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信