Medium之1149.文章浏览II

た 入场券 2023-01-23 08:53 198阅读 0赞

Table: Views


























Column Name Type
article_id int
author_id int
viewer_id int
view_date date

此表无主键,因此可能会存在重复行。此表的每一行都表示某人在某天浏览了某位作者的某篇文章。 请注意,同一人的 author_id 和 viewer_id 是相同的。

问题

编写一条 SQL 查询来找出在同一天阅读至少两篇文章的人,结果按照 id 升序排序。

示例

查询结果的格式如下:

Views table:




























































article_id author_id viewer_id view_date
1 3 5 2019-08-01
3 4 5 2019-08-01
1 3 6 2019-08-02
2 7 7 2019-08-01
2 7 6 2019-08-02
4 7 1 2019-07-22
3 4 4 2019-07-21
3 4 4 2019-07-21

Result table:















id
5
6

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/article-views-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

  1. select distinct viewer_id as id
  2. from views
  3. group by view_date,viewer_id
  4. having count(distinct article_id)>1
  5. order by id
注意!

因为此表无主键,因此可能会存在重复行,要两次去重,一是对文章Id去重,二是对浏览者id去重

发表评论

表情:
评论列表 (有 0 条评论,198人围观)

还没有评论,来说两句吧...

相关阅读