暂时未有相关云产品技术能力~
暂无个人介绍
【网络安全 | 信息收集】JS文件信息收集工具LinkFinder安装使用教程
【网络安全】WebPack源码(前端源码)泄露 + jsmap文件还原
【Python指南 | 第八篇】自定义函数、输入输出,这一篇就够了
【网络安全 | Misc】Test-flag-please-ignore
【网络安全】隐私计算迎来千亿级风口,一文讲清它的技术理论基础。
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
使用Docker部署监控服务Uptime Kuma并实现无公网ip远程访问本地服务
【网络安全 | 信息收集】CDN的判断与绕过、nslookup基本使用
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【数据结构入门精讲 | 第九篇】考研408排序算法专项练习(一)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | CatCTF】ezbypass-cat
【网络安全 | 密码学】密码字典生成工具crunch、cupp安装使用教程
【网络安全 | 网络协议应用层】结合Wireshark讲解HTTP协议
【网络安全 | SQL注入】一文讲清预编译防御SQL注入原理
【网安 | 网络协议】ARP协议(地址解析协议)
【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题
【Windows】MCSM面板搭建Mycraft服务器,实现公网远程联机
【C/PTA】循环结构专项练习(选择+填空)
GoLand远程开发IDE:使用SSH远程连接服务器进行云端编程
【Python指南 | 第十篇】以题代练掌握Python初阶编程
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 扫描器】御剑安装及使用教程详析
【数据结构入门精讲 | 第六篇】队列知识点及考研408、企业面试练习
OpenCV4工业缺陷检测的六种方法
【C/PTA】数组进阶练习(三)
【Windows】搭建Emby媒体库服务器,实现无公网IP远程访问
【C语言必知必会 | 第五篇】选择结构入门,这一篇就够了
【C/PTA】循环结构专项练习(选择+填空)
【网络安全 | 子域名/信息收集】子域名挖掘方式总结(全网最详细)
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | Kali】基于Docker的Vulhub安装教程指南
【C语言必知必会 | 第三篇】顺序结构入门,这一篇就够了
【MySQL进阶之路丨第五篇】MySQL Workbench 的安装与配置
[网络安全] Dirsearch 工具的安装、使用详细教程
【MySQL进阶之路丨第四篇】命令行与可视化工具
【网络安全/前端XSS防护】一文带你了解HTML的特殊字符转义及编码
【工具】HxD Hex Editor 的安装、使用详细教程
【网络安全 | HTTP】 gopher协议原理、语法及利用总结
【Python | 自动驾驶】阐发AI大模型在APS中的底层逻辑与代码实现
[网络安全]upload-labs Pass-17 解题详析
[网络安全]sqli-labs Less-21 解题详析
【A I 软件开发】一文讲清交互应用的实现原理
【AI】详细阐发AI关键技术及发展前景
【数据空间】浅谈信息革命背景下数字技术的变与不变
【Python/人工智能】TensorFlow 框架基本原理及使用
[网络安全]shiro安全框架基本原理及架构功能简析
[C++/PTA] 日程安排(多重继承+重载)
【智能时代的颠覆】AI打开物联网之门
写题时遇见的一道SQL
有一个数据表 student,包含以下列:id、name和score。每个学生都有一个唯一的ID,name 是学生的姓名,score 是该学生的分数。编写一个 SQL 查询,使用以下条件筛选前三个最高分数的学生:
CREATE TABLE student( id INT, name VARCHAR(100), score INT );
INSERT INTO student VALUES (1, 'AAA', 80); INSERT INTO student VALUES (2, 'BBB', 67); INSERT INTO student VALUES (3, 'CCC', 92); INSERT INTO student VALUES (4, 'DDD', 91); INSERT INTO student VALUES (5, 'EEE', 88); INSERT INTO student VALUES (6, 'FFF', 95); INSERT INTO student VALUES (7, 'GGG', 87); INSERT INTO student VALUES (8, 'HHH', 90); INSERT INTO student VALUES (9, 'III', 79);
想了好久,发现这个问题可以使用 RANK() 函数和子查询来解决。以下是解决方案: SELECT * FROM ( SELECT *, RANK() OVER (ORDER BY score DESC) AS rank FROM student ) as s WHERE s.rank <= 3;
这个方案首先对学生表进行了一个子查询,并且使用 RANK() 函数来为每个学生成绩进行排名。然后,它在查询结果中找到排名前三的学生。 如果有多个学生分数一样,排名可能会出现重复。如果不希望重复排名,可以使用 DENSE_RANK() 函数来代替 RANK()。