SQL leetcode题目(持续更新)

  • Post author:
  • Post category:其他


1142.过去30天的用户活动 II

±————–±——–+

| Column Name | Type |

±————–±——–+

| user_id | int |

| session_id | int | – 每个session 都有唯一的编号

| activity_date | date |

| activity_type | enum |

±————–±——–+

该表没有主键,它可能有重复的行。

activity_type列是一种类型的ENUM(“ open_session”,“ end_session”,“ scroll_down”,“ send_message”)。

该表显示了社交媒体网站的用户活动。

请注意,每个会话完全属于一个用户。

  • 编写SQL查询以查找截至2019年7月27日(含)的30天内每个用户的平均会话数,四舍五入到小数点后两位。我们只统计那些会话期间用户至少进行一项活动的有效会话。

±——–±———–±————–±————–+

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

SELECT IFNULL(ROUND(COUNT(DISTINCT session_id) / COUNT(DISTINCT user_id), 2), 0) AS average_sessions_per_user
FROM Activity
WHERE DATEDIFF('2019-07-27', activity_date) < 30
-- WHERE activity_date BETWEEN '2019-06-28' AND '2019-07-27'

1141.查询近30天活跃用户数

±————–±——–+

| Column Name | Type |

±————–±——–+

| user_id | int |

| session_id | int | – 每个session 都有唯一的编号

| activity_date | date |

| activity_type | enum |

±————–±——–+

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

SELECT activity_date as day,COUNT(DISTINCT user_id) as active_users
FROM Activity
WHERE DATEDIFF('2019-07-27',activity_date) < 30
GROUP BY activity_date



版权声明:本文为Hyacintheatre原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。