当前位置: 首页 > news >正文

力扣-文章浏览

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:1148. 文章浏览
  • 二、解题
    • 1.正确示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范②
      • 提交SQL
      • 运行结果
    • 3.正确示范③
      • 提交SQL
      • 运行结果
    • 4.其他
  • 总结


前言


一、题目:1148. 文章浏览

Views 表:

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| article_id    | int     |
| author_id     | int     |
| viewer_id     | int     |
| view_date     | date    |
+---------------+---------+
此表无主键,因此可能会存在重复行。
此表的每一行都表示某人在某天浏览了某位作者的某篇文章。
请注意,同一人的 author_id 和 viewer_id 是相同的。

请编写一条 SQL 查询以找出所有浏览过自己文章的作者,结果按照 id 升序排列。

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

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    |
+------+

二、解题

1.正确示范①

提交SQL

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

或者

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

运行结果

2.正确示范②

提交SQL

select 
viewer_id as id
from Views
where author_id=viewer_id
group by id
order by id;

或者

select 
author_id as id
from Views
where author_id=viewer_id
group by id
order by id;

运行结果

3.正确示范③

提交SQL

select id
from(select author_id as id,row_number() over(partition by author_id) colfrom Viewswhere author_id=viewer_id
) u where u.col=1
order by id;
;

运行结果

4.其他


总结

正确示范①思路:
先找出所有浏览过自己文章的作者,再用distinct去重,再用order by排序;
正确示范②思路:
先找出所有浏览过自己文章的作者,再用group by去重,再用order by排序;
正确示范③思路:
先找出所有浏览过自己文章的作者,再用row_number() over(partition by author_id)限定序号为1的,再用order by排序。
知识点:
1.distinct关键字可以对查询出的结果数据进行去重处理;
2.MySQL支持使用order by语句对查询结果集进行排序处理,使用order by语句不仅支持对单列数据的排序,还支持对数据表中多列数据的排序。
3.group by 是在查询时先把数据按照分组字段分组出来再查询,当数据量较大时,group by 速度要优于 distinct

相关文章:

力扣-文章浏览

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1148. 文章浏览二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目:1148…...

Unity提取场景中的静态文本

有些单机项目开发的时候没有做本地文本配置文件,全部写死在场景的对象上面,简单记录一下怎么提取场景里面的文本并且写入到配置文件里面using System.Collections.Generic;using System.IO;using TMPro;using UnityEditor;using UnityEngine;using Unity…...

Netty常用核心类说明

MessageToByteEncoder MessageToByteEncoder是一个抽象编码器,子类可重写encode方法把对象编码为ByteBuf输出。 MessageToByteEncoder继承自ChannelOutboundHandlerAdapter,encode在出站是被调用。 public class MyMessageEncoder extends MessageToB…...

ingress服务

user.default.svc.cluster.local是集群内部service的dns地址,集群外部想访问集群里面的service,可以通过LoadBalaner和NodePort。LoadBalaner可以获得一个公网ip;NodePort在宿主机上开一个端口,访问这个端口会把报文实际的转发到集…...

java 抽象类 详解

目录 一、抽象类概述: 二、抽象方法 : 1.概述 : 2.应用 : 3.特点 : 三、抽象类特点 : 1.关于abstract关键字 : 2.抽象类不能被实例化,只能创建其子类对象 : 3.抽象类子类的两个选择 : 四、抽象类的成员 : 1.成员变量 : 2.成员方…...

MySQL的安装(详解)

文章目录前言一、yum方式安装1、下载并安装MySQL2、 启动MySQL数据库3、查看MySQL初始密码4、登录数据库5、修改MySQL默认密码6、授予root用户远程管理权限7、输入exit退出数据库二、rpm安装方式1、检查2、卸载mariadb3、安装4、启动5、密码总结前言 本教程为Linux下安装mysql的…...

界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…...

BabylonJS之放烟花

一: 技术调研 1. 方案一:ParticleSystem 用ParticleSystem来实现每一束的烟花效果,如果浏览器支持WebGL2功能,使用GPUParticleSystem性能会有极大的提升。 优点: 烟花效果易实现且效果好。 缺点: 每一个P…...

vue3 布局样式的原理

style scoped <style scoped > 它的 CSS 只作用于当前组件中的元素&#xff0c;如果子组件只有一个根元素&#xff0c;也会被渗透 原理&#xff1a; 当我们再组建中使用scoped时&#xff0c;vue会自动为组件中所有元素生成一个随机的属性&#xff0c;形如&#xff1a;da…...

Qt程序使用路径方式和注意事项

Qt程序使用路径方式和注意事项 更多精彩内容&#x1f449;个人内容分类汇总 &#x1f448;&#x1f449;Qt开发经验 &#x1f448;文章目录Qt程序使用路径方式和注意事项[toc]前言一、Windows下Qt程序使用路径1.准备工作2.测试结果二、Linux下Qt程序使用路径1.准备工作2.测试结…...

和日期相关的代码和bug——一道力扣题中的小发现

目录 Day of the Week 题目大意 常规方法 Python代码 Golang代码 C代码 基姆拉尔森公式 Python代码 Golang代码 C代码 使用库函数 Python代码 Golang代码 C代码 Day of the Week Given a date, return the corresponding day of the week for that date. The inp…...

如何在2023年学习编程并获得开发者工作

丢下自负 许多进入软件开发领域的人都是从最底层开始的&#xff0c;你可能会获得“初级开发者”的头衔。每天面临的问题是&#xff1a;我有十年的专业经验了。我不是个入门员工。但尽管过去的工作经验丰富&#xff0c;我仍然是个入门级的开发者&#xff0c;我还是个新手。别总…...

Python实战之小说下载神器(三)排行榜所有小说:最全热门小说合集,总有一款适合你,好多好多好多超赞的小说...(源码分享学习)

前言 这次的是一个系列内容 给大家讲解一下何一步一步实现一个完整的实战项目案例系列之 小说下载神器&#xff08;三&#xff09;&#xff08;GUI界面化程序&#xff09; 多线程采集小说下载、采集排行榜所有小说 哈喽&#xff01;大家上午好啦&#xff0c;我是爱看小说的栗子…...

前端监控之用户行为监控实践1(数据收集)

前文对前端监控进行了简单介绍&#xff0c;起因是因为当前做的一个需求&#xff0c;老板要看当前项目的uv、pv信息。其实这是非常简单的统计。 但在最开始接到这个需求&#xff0c;却难倒我了。 现在进行简单的复盘&#xff0c;记录一下实现方法。 一、数据记录 用户行为从大…...

【网络原理7】认识HTTP

目录 一、HTTP协议的位置 二、HTTP协议的特点&应用场景 三、HTTP协议的格式的查看 Fiddler下载与使用 ​编辑 如何查看HTTP请求消息 ​编辑 如何查看HTTP响应数据包 如何默认开启HTTPS的解析功能 四、HTTP的请求数据包的格式含义 第一部分&#xff1a;请求行&…...

SPI实验

目录 一、SPI 简介 二、硬件原理 ECSPI3_SCLK ECSPI3_MISO和ECSPI3_MOSI ECSPI3_SS0 三、I.MX6U ECSPI 简介 ECSPIx_RXDATA ECSPIx_TXDATA ECSPIx_CONREG ECSPIx_CONFIGREG ECSPIx_PERIODREG​编辑 ECSPIx_STATREG 四、ICM-20608 简介 五、代码编写 1、创建文件及文…...

去基线处理

目录detrend函数去除基线多项式拟合原函数BEADS 基线处理小波算法经验模态分解&#xff08;EMD&#xff09;参考detrend函数去除基线 detrend函数只能用于去除线性趋势&#xff0c;对于非线性的无能为力。 函数表达式&#xff1a;y scipy.signal.detrend(x): 从信号中删除线…...

模拟信号4-20mA /0-5V/0-75mV/0-100mV转RS-485/232,数据采集A/D转换模块 YL21

特点&#xff1a;● 模拟信号采集&#xff0c;隔离转换 RS-485/232输出● 采用12位AD转换器&#xff0c;测量精度优于0.1%● 通过RS-485/232接口可以程控校准模块精度● 信号输入 / 输出之间隔离耐压3000VDC ● 宽电源供电范围&#xff1a;8 ~ 32VDC● 可靠性高&#xff0c;编程…...

[USB]键盘数据格式以及按键键值

USB键盘数据包含8个字节 BYTE1 – 特殊按键 |–bit0: Left Control是否按下&#xff0c;按下为1 |–bit1: Left Shift 是否按下&#xff0c;按下为1 |–bit2: Left Alt 是否按下&#xff0c;按下为1 |–bit3: Left GUI&#xff08;Windows键&#xff09; 是否按下&#xff0c;…...

web客户端-websocket

1、websocket简介 WebSocket是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。 WebSocket使得客户端和服务器之间的数据交换变得更加简单&#xff0c;允许服务端主动向客户端推送数据。在WebSocket API中&#xff0c;浏览器和服务器只需要完成一次握手&#xff0c…...

nli-distilroberta-base精彩案例:开源项目README与代码功能逻辑一致性验证

nli-distilroberta-base精彩案例&#xff1a;开源项目README与代码功能逻辑一致性验证 1. 项目概述 在开源项目开发中&#xff0c;README文档与代码实现的一致性至关重要。nli-distilroberta-base作为基于DistilRoBERTa的自然语言推理(NLI)Web服务&#xff0c;为解决这一问题…...

Qwen3.5-9B-AWQ-4bit LSTM时间序列预测模型原理与调参详解

Qwen3.5-9B-AWQ-4bit LSTM时间序列预测模型原理与调参详解 1. 引言&#xff1a;当LSTM遇见大语言模型 时间序列预测一直是机器学习领域的经典问题。从股票价格预测到电力负荷分析&#xff0c;传统LSTM模型因其出色的序列建模能力而广受欢迎。但随着大语言模型(LLM)的崛起&…...

【Butterfly库OpenHarmony实战使用教程】|NAPI封装+Native C API调用+真机运行

&#x1f680;Butterfly库OpenHarmony实战使用教程&#xff5c;NAPI封装Native C API调用真机运行 大家好&#xff0c;我是InMainJhy&#xff0c;一名在上海读本科的大一学生&#x1f392;。本篇严格按照鸿蒙三方库征文要求创作&#xff0c;基于NAPI封装Native C API&#xff0…...

告别官方版SSE2坑!用linsys_pjsip 2.11.8在ARM32平台快速集成SIP与WebRTC AEC3

ARM32平台高效集成SIP与WebRTC AEC3&#xff1a;linsys_pjsip 2.11.8实战指南 在嵌入式音视频通信领域&#xff0c;ARM32架构设备因其低功耗和成本优势被广泛应用。但当你尝试在这些设备上部署PJSIP时&#xff0c;官方版本的SSE2指令集依赖就像一堵高墙&#xff0c;让许多开发者…...

Unity3D 资源逆向工程:AssetStudio 源码编译与定制化开发指南

1. 为什么需要编译AssetStudio源码 第一次接触Unity资源逆向时&#xff0c;我也像大多数人一样直接下载了AssetStudio的release版本。双击exe就能看到熟悉的界面&#xff0c;拖入apk文件就能解包&#xff0c;这种开箱即用的体验确实很爽。但很快我就遇到了棘手的问题&#xff1…...

告别景深烦恼:用PyTorch+PyQt5打造你的专属多焦点图像融合桌面工具(附完整源码)

告别景深烦恼&#xff1a;用PyTorchPyQt5打造你的专属多焦点图像融合桌面工具 每次拍摄微距或静物时&#xff0c;是否总在景深和清晰度之间纠结&#xff1f;按下快门后才发现前景清晰时背景模糊&#xff0c;背景聚焦时前景又失焦。专业摄影师会告诉你&#xff1a;这是光学镜头的…...

学术PDF处理神器:OpenClaw+千问3.5-35B-A3B-FP8实现论文公式截图转LaTeX

学术PDF处理神器&#xff1a;OpenClaw千问3.5-35B-A3B-FP8实现论文公式截图转LaTeX 1. 为什么需要自动化论文公式处理 作为经常与学术论文打交道的科研人员&#xff0c;我深刻理解手动输入LaTeX公式的痛苦。去年撰写博士论文期间&#xff0c;我曾花费整整两周时间仅用于转录参…...

HarmonyOS ArkTS开发实战:用Axios封装一个带拦截器的网络请求工具类

HarmonyOS ArkTS实战&#xff1a;构建企业级Axios网络请求工具库 在HarmonyOS应用开发中&#xff0c;网络请求作为数据交互的核心通道&#xff0c;其稳定性和可维护性直接影响应用质量。本文将带你从零构建一个支持Token自动刷新、错误统一处理的Axios企业级封装库&#xff0c;…...

FPGA图像处理核心:构建可配置的通用滑动窗口IP核

1. 为什么需要通用滑动窗口IP核 做FPGA图像处理的朋友应该都深有体会&#xff0c;每次新项目来了都要重新写滑动窗口模块&#xff0c;简直让人头大。我去年做过一个统计&#xff0c;在图像处理项目中&#xff0c;光是滑动窗口相关的代码就占了总开发时间的30%以上。这还只是写代…...

seo网络推广的关键词选择技巧有哪些

SEO网络推广的关键词选择技巧有哪些 在当前的互联网时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为网络推广中不可或缺的一部分。其中&#xff0c;关键词选择技巧是SEO的核心之一。选择合适的关键词&#xff0c;不仅能够提高网站的搜索引擎排名&#xff0c;还…...