废话不多说先上SQL:
select 活跃用户, 登录天数 from (select 用户 as 活跃用户 ,count(用户) as 登录天数 from(select distinct log ,用户 from rihuo) as aaa group by 用户) as ccc where 登录天数=7;
括号不能省略,这里用了两次子查询。类似嵌套,先执行最里面的查询,再用结果查询。
解释:
mysql> select * from rihuo ;
+-----------+------------+
| 用户 | log |
+-----------+------------+
| 张三 | 2021-07-01 |
| 李四 | 2021-07-01 |
| 王麻子 | 2021-07-01 |
| 王麻子 | 2021-07-01 |
| 李四 | 2021-07-01 |
| 李四 | 2021-07-01 |
| 张三 | 2021-07-01 |
| 王麻子 | 2021-07-01 |
| 张三 | 2021-07-03 |
| 张三 | 2021-07-03 |
| 张三 | 2021-07-03 |
| 张三 | 2021-07-04 |
| 张三 | 2021-07-05 |
| 张三 | 2021-07-05 |
| 张三 | 2021-07-06 |
| 张三 | 2021-07-07 |
| 李四 | 2021-07-02 |
| 李四 | 2021-07-03 |
| 李四 |