leetcode-sql数据库面试题冲刺(高频SQL五十题)

题目:

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列按照升序排列即可。

代码:

sql 复制代码
select distinct author_id as id
from Views
where author_id = viewer_id
order by id
相关推荐
wefg125 分钟前
【Redis】C++ 自定义客户端
数据库·redis·缓存
这个DBA有点耶35 分钟前
为什么UPDATE比SELECT危险得多?锁范围等于扫描行数
数据库·架构·代码规范
天国梦1 小时前
国密门禁品牌怎么选?2026年最新3个避坑要点
运维·服务器·数据库·python
DB哥讲数据库1 小时前
【达梦数据库安装教程】超详细图文讲解-附达梦安装包
数据库·oracle
Hoxy.R2 小时前
【金仓数据库产品体验官】KingbaseES V9R2C16 坏块检测与修复完整测试流程
数据库
太理摆烂哥3 小时前
MySQL数据库基础
数据库·mysql
wuhuhuan3 小时前
JMeter 连接数据库并取值(JDBC 实战)
数据库·jmeter
Nil2084 小时前
leetcode 300最长递增子序列
算法·leetcode·职场和发展
小羊没烦恼!4 小时前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
Rain的Java大神之路4 小时前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程