LeetCode:Database 56.查询近30天活跃用户数

Posted Xiao Miao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:Database 56.查询近30天活跃用户数相关的知识,希望对你有一定的参考价值。

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

活动记录表:Activity的结构

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user_id       | int     |
| session_id    | int     |
| activity_date | date    |
| activity_type | enum    |
+---------------+---------+
该表是用户在社交网站的活动记录。
该表没有主键,可能包含重复数据。
activity_type 字段为以下四种值 ('open_session', 'end_session', 'scroll_down', 'send_message')。
每个 session_id 只属于一个用户。

Activity 表:

+---------+------------+---------------+---------------+
| 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   |
+---------+------------+---------------+---------------+

Result Table:

+------------+--------------+ 
| day        | active_users |
+------------+--------------+ 
| 2019-07-20 | 2            |
| 2019-07-21 | 2            |
+------------+--------------+ 
非活跃用户的记录不需要展示。

SQL语句:

select activity_date as day,count(distinct user_id) as active_users
from activity
where activity_date between adddate('2019-07-27',-29) and ('2019-07-27')
group by activity_date;

以上是关于LeetCode:Database 56.查询近30天活跃用户数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode:Database 16.给定数字的频率查询中位数

LeetCode:Database 96.净现值查询

LeetCode:Database 96.净现值查询

LeetCode(数据库)- 查询近30天活跃用户数

LeetCode:Database 53.查询活跃业务

LeetCode:Database 29.树节点