鱼C论坛

 找回密码
 立即注册
查看: 2287|回复: 5

MySQL(1107. 每日新用户统计)

[复制链接]
发表于 2020-4-9 00:07:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述:
  1. Traffic 表:

  2. +---------------+---------+
  3. | Column Name   | Type    |
  4. +---------------+---------+
  5. | user_id       | int     |
  6. | activity      | enum    |
  7. | activity_date | date    |
  8. +---------------+---------+
  9. 该表没有主键,它可能有重复的行。
  10. activity 列是 ENUM 类型,可能取 ('login', 'logout', 'jobs', 'groups', 'homepage') 几个值之一。
  11.  

  12. 编写一个 SQL 查询,以查询从今天起最多 90 天内,每个日期该日期首次登录的用户数。假设今天是 2019-06-30.

  13. 查询结果格式如下例所示:

  14. Traffic 表:
  15. +---------+----------+---------------+
  16. | user_id | activity | activity_date |
  17. +---------+----------+---------------+
  18. | 1       | login    | 2019-05-01    |
  19. | 1       | homepage | 2019-05-01    |
  20. | 1       | logout   | 2019-05-01    |
  21. | 2       | login    | 2019-06-21    |
  22. | 2       | logout   | 2019-06-21    |
  23. | 3       | login    | 2019-01-01    |
  24. | 3       | jobs     | 2019-01-01    |
  25. | 3       | logout   | 2019-01-01    |
  26. | 4       | login    | 2019-06-21    |
  27. | 4       | groups   | 2019-06-21    |
  28. | 4       | logout   | 2019-06-21    |
  29. | 5       | login    | 2019-03-01    |
  30. | 5       | logout   | 2019-03-01    |
  31. | 5       | login    | 2019-06-21    |
  32. | 5       | logout   | 2019-06-21    |
  33. +---------+----------+---------------+

  34. Result 表:
  35. +------------+-------------+
  36. | login_date | user_count  |
  37. +------------+-------------+
  38. | 2019-05-01 | 1           |
  39. | 2019-06-21 | 2           |
  40. +------------+-------------+
  41. 请注意,我们只关心用户数非零的日期.
  42. ID 为 5 的用户第一次登陆于 2019-03-01,因此他不算在 2019-06-21 的的统计内。

  43. 来源:力扣(LeetCode)
  44. 链接:https://leetcode-cn.com/problems/new-users-daily-count
  45. 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
复制代码


  1. select date as login_date , count(*) as user_count  
  2. from(
  3.     select user_id, min(activity_date) as date
  4.     from Traffic
  5.     where activity  = "login"
  6.     group by user_id
  7.     having datediff('2019-06-30', min(activity_date)) <= 90
  8. ) data
  9. group by login_date
复制代码



注意事项:
1.这道题做得慢,需要熟练。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-9 20:55:53 | 显示全部楼层
话说你建个淘贴不行吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-9 21:02:42 | 显示全部楼层
乘号 发表于 2020-4-9 20:55
话说你建个淘贴不行吗

淘帖是做什么的?没发过
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-9 21:06:00 | 显示全部楼层
糖逗 发表于 2020-4-9 21:02
淘帖是做什么的?没发过

。。。私聊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 23:09:06 From FishC Mobile | 显示全部楼层
很久之前做数据库封装,当时好像做了两个版本,一个mysql还有sqlite,一年不看都忘了好多
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-28 12:17:16 | 显示全部楼层
淘专辑是个好东西啊~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-28 10:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表