力扣高频SQL 50 题(基础版)第三题

文章目录

  • 力扣高频SQL 50 题(基础版)第三题
    • 1148.文章浏览
      • 题目说明
      • 思路分析
      • 实现过程
        • 准备数据
        • 实现方式
        • 结果截图

力扣高频SQL 50 题(基础版)第三题

1148.文章浏览

题目说明

Views 表:

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

| Column Name | Type |

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

| article_id | int |

| author_id | int |

| viewer_id | int |

| view_date | date |

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

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

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

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

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

结果按照 id 升序排列。

思路分析

在这里插入图片描述

由于同一人的 author_id 和 viewer_id 是相同的,因此要查询出所有浏览过自己文章的作者,只需要author_id=viewer_id即可,但是这样会出现上图所示重复id的情况,所以需要去重

实现过程

准备数据
Create table If Not Exists Views (article_id int, author_id int, viewer_id int, view_date date)
Truncate table Views
insert into Views (article_id, author_id, viewer_id, view_date) values ('1', '3', '5', '2019-08-01')
insert into Views (article_id, author_id, viewer_id, view_date) values ('1', '3', '6', '2019-08-02')
insert into Views (article_id, author_id, viewer_id, view_date) values ('2', '7', '7', '2019-08-01')
insert into Views (article_id, author_id, viewer_id, view_date) values ('2', '7', '6', '2019-08-02')
insert into Views (article_id, author_id, viewer_id, view_date) values ('4', '7', '1', '2019-07-22')
insert into Views (article_id, author_id, viewer_id, view_date) values ('3', '4', '4', '2019-07-21')
insert into Views (article_id, author_id, viewer_id, view_date) values ('3', '4', '4', '2019-07-21')
实现方式
select distinct author_id as id from Views where author_id=viewer_id order by id;
结果截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267925.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

昇思25天学习打卡营第1天|简单深度学习

前言 昇思MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景统一部署三大目标。 其中,易开发表现为API友好、调试难度低;高效执行包括计算效率、数据预处理效率和分布式训练效率;全场景则指框架同时支持云、边…

数据传输安全--SSL VPN

目录 IPSEC在Client to LAN场景下比较吃力的表现 SSL VPV SSL VPN优势 SSL协议 SSL所在层次 SSL工作原理 SSL握手协议、SSL密码变化协议、SSL警告协议三个协议作用 工作过程 1、进行TCP三次握手、建立网络连接会话 2、客户端先发送Client HELLO包,下图是包…

平安养老险深圳分公司:参加献血志愿者活动,点亮生命之光

7月23日,“热血传万里,家家共平安”2024年中国平安无偿献血志愿者活动启动,其深圳站活动于当日在深圳市福田区平安金融中心北广场举行,平安养老险深圳分公司积极响应活动号召参与献血,用行动诠释责任,以爱心…

Nginx 配置与优化:常见问题全面解析

文章目录 Nginx 配置与优化:常见问题全面解析一、Nginx 安装与配置问题1.1 Nginx 安装失败问题描述解决方法1.2 Nginx 配置文件语法错误问题描述解决方法二、Nginx 服务启动与停止问题2.1 Nginx 无法启动问题描述解决方法2.2 Nginx 服务无法停止问题描述解决方法三、Nginx 性能…

[Mysql-DDL数据操作语句]

目录 DDL语句操作数据库 库: 查看:show 创建:creat 删除:drop 使用(切换):use 表: 查看:desc show 创建:create 表结构修改 rename as add drop modify change rename as …

力扣高频SQL 50题(基础版)第八题

文章目录 力扣高频SQL 50题(基础版)第八题1581. 进店却未进行过交易的顾客题目说明思路分析实现过程准备数据:实现方式:结果截图:总结: 力扣高频SQL 50题(基础版)第八题 1581. 进店…

mysql中的索引和分区

目录 1.编写目的 2.索引 2.1 创建方法 2.2 最佳适用 2.3 索引相关语句 3.分区 3.1 创建方法 3.2 最佳适用 Welcome to Code Blocks blog 本篇文章主要介绍了 [Mysql中的分区和索引] ❤博主广交技术好友,喜欢文章的可以关注一下❤ 1.编写目的 在MySQL中&…

【python】python大学排名数据抓取+可视化(源码+数据集+可视化+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

Android开发与Java开发的共通之处:

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「Android的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!android开发是java开发的…

JAVA.抽象、接口、内部类

1.抽象 共性,父类定义抽象方法,子类必须重写,或者子类也是抽象类 示例代码 animal package animalabstract;//定义抽象类animal public abstract class animal {String name;int age;//定义抽象方法eat,子类必须重写public abs…

OceanBase v4.2 特性解析:如何实现表级恢复

背景 在某些情况下,你可能会因为误操作而遇到表数据损坏或误删表的情况。为了能在事后将表数据恢复到某个特定时间点,在OceanBase尚未有表级恢复功能之前,你需要进行以下步骤: 利用OceanBase提供的物理恢复工具,您可…

昇思25天学习打卡营第23天|CV-ResNet50迁移学习

打卡 目录 打卡 迁移学习 实战练习 数据准备 数据处理 数据处理函数 数据处理流程 数据可视化 训练模型 构建Resnet50网络 固定特征进行训练 network 的输出 训练和评估 可视化模型预测 掌握迁移学习的重点在于,了解你的模型结构,通过冻结…

若依框架 : 生成代码

6.生成代码 6.1.配置生成设置 ruoyi-generator -> src -> main -> resources -> generator.yml 由于 案例中 表都有 前缀 为 tta_ , 这里设置去掉 6.2.生成代码 6.2.1.导入数据库中的表 6.2.2.修改设置 6.2.2.1.设置生成信息 点击 编辑 -> 生成信息 特别…

嵌入式Linux学习: 设备树实验

设备树(DeviceTree)是一种硬件描述机制,用于在嵌入式系统和操作系统中描述硬件设备的特性、连接关系和配置信息。它提供了一种与平台无关的方式来描述硬件,使得内核与硬件之间的耦合度降低,提高了系统的可移植性和可维…

乡下人的悲歌-感悟

这是一个最好的时代,也是一个最。。。的时代 前言 最近《乡下人的悲歌》一书在朋友圈火了,作为一个喜欢探究,观察生活的人,我想去探究这本书为什么突然爆火,以及作者给我们传达的什么观点,分享了那些&#…

Spring MVC 应用分层

1. 类名使⽤⼤驼峰⻛格,但以下情形例外:DO/BO/DTO/VO/AO 2. ⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格 3. 包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词. 常⻅命名命名⻛格介绍 ⼤驼峰: 所有单词⾸字⺟…

笔试编程算法题笔记(三 C++代码)

1.kotori和n皇后 题意简单来说就是,在一个无穷大的棋盘上,不断插入k个皇后,皇后们如果在 同一行,同一列,在一个45主对角线 在一个135副对角线上,就可以互相攻击。 我们需要判断在第i个皇后插入后&#xff…

【STM32本科毕业设计】基于STM32的多功能MP3播放器设计

目录 一. 概述二. 系统硬件设计2.1 整体设计思路2.2 硬件器件的选择2.2.1 MP3解码芯片选择 2.2.2 收音机芯片选择2.2.3 温度传感器选择2.2.4 彩灯驱动芯片选择2.2.5 音效处理芯片选择2.2.6 EEPROM芯片选择2.2.7 功率放大芯片选择2.2.8 电源芯片选择2.2.9 人机交互设备选择 2.3 …

map_set(红黑树封装)

1.map和set的整体大致架构 1.map和set的整体 平时我们使用map和set时,头文件是map和set的头文件 set头文件: map头文件 而stl_tree.h代表的就是红黑树 1.2 map和set的大致架构 map和set在源代码基本结构 map的大致特点: set的大致特点&am…

Linux gcc/g++ _ make/makefile

文章目录 库gcc/g程序编译过程链接动态链接静态链接 make _ makefile 库 一、 什么是库? 库是程序代码的集合,是共享程序代码的一种方式。根据源代码的公开情况,库可以分为两种类型: 开源库,公开源代码,能…