【力扣刷题日记】1113.报告的记录

文章讲述了如何使用SQL查询解决LeetCode上的数据库练习题,涉及统计2019年7月4日的举报帖子,筛选action为report且extra字段包含举报原因的记录,按举报原因分组计算各举报帖子数量。
摘要由CSDN通过智能技术生成

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

1113.报告的记录
表:Actions

列名类型
user_idint
post_idint
action_datedate
actionenum
extravarchar

此表可能会有重复的行。
action 字段是 ENUM 类型的,包含:(‘view’, ‘like’, ‘reaction’, ‘comment’, ‘report’, ‘share’)
extra 包含关于 action 的可选信息,例如举报的原因或反馈的类型。当 action 为 ‘report’ 时 extra 不会为 NULL。

编写解决方案,针对每个举报原因统计昨天的举报帖子数量。假设今天是 2019-07-05 。


我那不值一提的想法:

  • 首先梳理表内容,题干一共给了一张动作表,记录了用户id,帖子id,发帖日期,发帖类型以及举报后反馈的信息。
  • 其次分析需求,需要针对每个举报原因,统计昨日违规帖子数量.假设今天是2019-07-05
  • 我们的思路首先肯定是需要筛选日期到2019-07-04
  • 其次就需要判断action是report的帖子
  • 然后通过extra分组求post_id的数量得到最终的结果
select extra report_reason,count(distinct post_id) report_count
from Actions 
where action_date = "2019-07-04" and action = "report"
group by extra

结果:

在这里插入图片描述


总结:

能运行就行。


  • 10
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值