力扣白嫖日记(sql)

前言

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

今日题目:

1148.文章浏览 I
表:Views

列名类型
article_idint
author_idint
viewer_idint
view_datedate

此表可能会存在重复行。(换句话说,在 SQL 中这个表没有主键)此表的每一行都表示某人在某天浏览了某位作者的某篇文章。请注意,同一人的 author_id 和 viewer_id 是相同的。

请查询出所有浏览过自己文章的作者。结果按照 id 升序排列。


我那不值一提的想法:

首先梳理表内容,题干只给了一张浏览表,记录了文章id,作者id,以及浏览者id,和浏览日期。其次分析需求,查询出所有浏览过自己文章的作者,id升序排列。因为同一人的author_id和viewer_id是相同的,所以作者如果浏览过自己的作品,那么作者id和浏览者id肯定是相同的,直接查询author_id = viewer_id的结果,然后对作者id进行排序,得到最终结果,因为order by默认是升序,所以不用再添加参数。这里注意需要避免出现重复行,所以我们还需要在查询结果前面加个distinct。

select distinct author_id as id 
from Views
where author_id = viewer_id
order by author_id 

结果:

在这里插入图片描述


总结:

能运行就行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值