数据库题(三)——查询近30天活跃用户数

题目

下面这张表是用户在社交网站的活动记录。
Activity table:
+---------+------------+---------------+---------------+
| user_id | session_id | activity_date | activity_type |
+---------+------------+---------------+---------------+
| 1 | 1 | 2019-07-20 | open_session |
| 1 | 1 | 2019-07-20 | scroll_down |
| 1 | 1 | 2019-07-20 | end_session |
| 2 | 4 | 2019-07-20 | open_session |
| 2 | 4 | 2019-07-21 | send_message |
| 2 | 4 | 2019-07-21 | end_session |
| 3 | 2 | 2019-07-21 | open_session |
| 3 | 2 | 2019-07-21 | send_message |
| 3 | 2 | 2019-07-21 | end_session |
| 4 | 3 | 2019-06-25 | open_session |
| 4 | 3 | 2019-06-25 | end_session |
+---------+------------+---------------+---------------+

请查询出截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)。

解法

select activity_date as day,count(distinct user_id) as active_users 
from Activity 
where activity_date between "2019-06-28" and  "2019-07-27" 
group by activity_date;

注意点

1.是查询每天活跃的用户总数
2.在...之间,用between...and...

posted @ 2023-02-13 23:22  yatya  阅读(62)  评论(0)    收藏  举报
2 3
4