SQL-leetcode—1148. 文章浏览 I

1148. 文章浏览 I

Views 表:

±--------------±--------+

| Column Name | Type |

±--------------±--------+

| article_id | int |

| author_id | int |

| viewer_id | int |

| view_date | date |

±--------------±--------+

此表可能会存在重复行。(换句话说,在 SQL 中这个表没有主键)

此表的每一行都表示某人在某天浏览了某位作者的某篇文章。

请注意,同一人的 author_id 和 viewer_id 是相同的。

请查询出所有浏览过自己文章的作者

结果按照 id 升序排列。

查询结果的格式如下所示:

示例 1:

输入:

Views 表:

±-----------±----------±----------±-----------+

| article_id | author_id | viewer_id | view_date |

±-----------±----------±----------±-----------+

| 1 | 3 | 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 |

±-----------±----------±----------±-----------+

输出:

±-----+

| id |

±-----+

| 4 |

| 7 |

±-----+

题解

请查询出所有浏览过自己文章的作者

结果按照 id 升序排列。

  • 也就是作者和读者是一个人,where
  • id 升序,也就是order by

方法一: where + order

复制代码
select 
    distinct author_id as id
from Views where author_id = viewer_id
order by author_id 

比较简单,先这样吧

相关推荐
阿维的博客日记几秒前
Redis的旁路缓存策略和先删除缓存后更新数据库,先更新数据库后删除缓存,这三种策略之间有什么关系??
数据库·redis·缓存
小雅痞11 分钟前
[Java][Leetcode middle] 3. 无重复字符的最长子串
java·开发语言·leetcode
ictI CABL17 分钟前
redis连接服务
数据库·redis·bootstrap
苍煜24 分钟前
SpringBoot单体应用到分布式下的数据库锁、事务、Redis事务、分布式锁、分布式事务协调
数据库·spring boot·分布式
ulias2121 小时前
leetcode热题 - 5
数据结构·算法·leetcode
xmjd msup1 小时前
mysql的分区表
数据库·mysql
Lyyaoo.1 小时前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
MeAT ITEM1 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
如何原谅奋力过但无声1 小时前
【灵神高频面试题合集04-05】二分查找
数据结构·python·算法·leetcode
dovens1 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql