当前位置: 首页 > article >正文

【SQL高频基础】1141.查询近30天活跃用户数

题目:

表:Activity

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| user_id       | int     |
| session_id    | int     |
| activity_date | date    |
| activity_type | enum    |
+---------------+---------+
该表没有包含重复数据。
activity_type 列是 ENUM(category) 类型, 从 ('open_session', 'end_session', 'scroll_down', 'send_message') 取值。
该表记录社交媒体网站的用户活动。
注意,每个会话只属于一个用户。

编写解决方案,统计截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户)。

以 任意顺序 返回结果表。

解题:

找每天活动的人数,因为它只要有记录就算活动,所以相当于没有什么过滤条件。

select b.activity_date as day,count(distinct user_id) as active_users from   Activity b

 where  b.activity_date>= DATE_SUB('2019-07-27',interval 29 day) and b.activity_date <='2019-07-27'  GROUP BY b.activity_date

个人其他收获:


1 date_add 有下划线的
2 后面的day 不加s 
3 DATE_ADD相对应的 DATE_SUB
4 时间比较的时候,一定要分清,谁大 谁小。不然怎么有数据?
5 group by 分组 我还是不清晰。比如group by 的时候, 如果是count ,是否需要 把count 写到 group by ..中去?不需要的!
5 要去阅读一遍自己写出来的sql 是否通顺,是否脱裤子放屁。


http://www.kler.cn/a/229964.html

相关文章:

  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【三】
  • 28.UE5实现对话系统
  • DRM(数字权限管理技术)防截屏录屏----ffmpeg安装
  • 从零开始:NetBox 4.1 Docker 部署和升级
  • 实验三 z变换及离散时间LTI系统的z域分析
  • GraphRAG访问模式和知识图谱建模
  • 基于SSM的实习管理系统(有报告)。Javaee项目。ssm项目。
  • vue2 自定义指令 v-highlight 文本高亮显示分享
  • 常用加密算法
  • 爬虫(三)
  • ELFK日志采 - QuickStart
  • 机器人抓取 [ 题目/摘要 ] 更新中..
  • Golang与Erlang有什么差异
  • 动态规划C语言
  • SpringBoot 事务管理Transactional 数据回滚 数据一致性
  • 工业笔记本丨行业三防笔记本丨亿道加固笔记本定制丨极端温度优势
  • containerd中文翻译系列(五)客户端选项
  • 10英寸安卓车载平板电脑丨ONERugged车载工业平板:解决农业工作效率
  • 符号绑定和函数绑定
  • 详解WebRTC rtc::Thread实现
  • 全新 鸿蒙系统
  • Leetcode—33. 搜索旋转排序数组【中等】
  • Spring设计模式之单例模式
  • 计算huggingface模型占用硬盘空间的实战代码
  • 电机粘性阻尼系数D
  • 分享springboot框架的一个开源的本地开发部署教程(若依开源项目开发部署过程分享持续更新二开宝藏项目MySQL数据库版)