题目:
1148.文章浏览 I
Views 表:
±--------------±--------+
| Column Name | Type |
±--------------±--------+
| article_id | int |
| author_id | int |
| viewer_id | int |
| view_date | date |
±--------------±--------+
此表可能会存在重复行。(换句话说,在 SQL 中这个表没有主键)
此表的每一行都表示某人在某天浏览了某位作者的某篇文章。
请注意,同一人的 author_id 和 viewer_id 是相同的。
请查询出所有浏览过自己文章的作者
结果按照 id 升序排列。
思路:
使用as关键词,来给找出来的author_id列设置别名为id。
由于此表中可能存在重复行,所以需要使用 “distinct” 关键字来进行去重。
需要找的是作者,那么select寻找的就是author_id,其次给出符合的条件为”浏览过自己文章的作者“,所以用and逻辑运算符将author_id=viewer_id 条件列出,再使用where关键字在表中过滤不符合条件的表格行,确保最后结果是对的。
最后再使用order by使id列按照升序排列即可。
代码:
select distinct author_id as id
from Views
where author_id = viewer_id
order by id