
Hive 分组取Top N
创建一个临时表(as),用于存储每个学号在课程中的排名信息。 在临时表中,同时计算每个学号的正序排名(rn)和反向序排名(rn1)。 通过对 rn 和 rn1 进行判断,筛选出排名在前3名或后3名的学号,并从临时表中导出这些信息。
发布日期:2021-05-18 08:26:09
浏览次数:11
分类:精选文章
本文共 310 字,大约阅读时间需要 1 分钟。
成绩表S中,每门课程的前2名与后2名的学号需求可以通过以下SQL查询实现。该查询采用了窗口函数的方式,根据课程ID进行分布排序,逐一计算各学号的排名情况。具体来说,通过计算每个学号在课程中的排名(rn),以及反向排序后的排名(rn1),从而筛选出符合条件的学号。
具体步骤如下:
这种方法充分利用了 SQL 的窗口函数特性,能够高效地完成数据统计和筛选任务,确保查询结果的准确性和高效性。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年04月18日 13时34分42秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一道简单的访问越界、栈溢出pwn解题记录
2019-03-15
ubuntu18.04.4版本安装docker教程
2019-03-15
Stream 某些API
2019-03-15
关于项目中 对Java 的为空判断整理
2019-03-15
测试调用另一台电脑ip是否有用
2019-03-15
mos-excel集成文档
2019-03-15
Tomcat执行流程!
2019-03-15
chat 快问!
2019-03-15
3.jdk的环境配置
2019-03-15
2.连接池
2019-03-15
1.Html
2019-03-15
2.Html与CSS
2019-03-15
3&4.javascript
2019-03-15
5.bootstrap
2019-03-15
6.Xml
2019-03-15
7.tomcat_servlet
2019-03-15
9.response
2019-03-15
3.Ajax&Json
2019-03-15
Linux总结
2019-03-15