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

按date user_id分组得到
date user_id
2019-01-08 1518910
2019-01-08 1543358
2019-01-08 1543358
2019-01-08 1518910
2019-01-08 1563574
2019-01-08 1563574
2019-01-08 1562939
2019-01-08 1560924
2019-01-08 1524686
2019-01-08 1554495
2019-01-08 1539485
2019-01-08 1539485
2019-01-08 1543358
2019-01-08 1543356
2019-01-08 1539485
2019-01-08 1562939
2019-01-08 1539485
2019-01-08 1539485
2019-01-08 1539485
2019-01-08 1539485
2019-01-08 1543358

希望得到

date user_id total
2019-01-08 1518910 9
2019-01-08 1543358 9
2019-01-08 1543358 9
2019-01-08 1518910 9
2019-01-08 1563574 9
2019-01-08 1563574 9
2019-01-08 1562939 9
2019-01-08 1560924 9
2019-01-08 1524686 9
2019-01-08 1554495 9
2019-01-08 1539485 9
2019-01-08 1539485 9
2019-01-08 1543358 9
2019-01-08 1543356 9
2019-01-08 1539485 9
2019-01-08 1562939 9
2019-01-08 1539485 9
2019-01-08 1539485 9
2019-01-08 1539485 9
2019-01-08 1539485 9
2019-01-08 1543358 9
9表示不同的用户数


慕容森
浏览 566回答 2
2回答

桃花长相依

我先理解一下需求,数据 1 是原始数据,数据 2 是拿出原始数据的同时增加一列,这列数据为每个日期下不同 uid 个数如果理解没错的话,可以用下面这条 SQL 实现(表名假设为test_group)

红糖糍粑

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 会有性能问题,自己斟酌哈
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL