问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用SQL语句查询最大值,使用where rownum=1 若有几个相同的最大值都要被选择 该如何解决该问题?

发布网友 发布时间:2022-04-10 20:48

我来回答

4个回答

热心网友 时间:2022-04-10 22:17

使用 RANK() 函数进行处理.

注:
RANK 函数, 是计算排名顺序的函数.

下面是例子:

CREATE TABLE test_course (
student_name VARCHAR(10), -- 学生
course_name VARCHAR(10), -- 课程
grade INT -- 成绩
);

INSERT INTO test_course VALUES('甲', '语文', 95);
INSERT INTO test_course VALUES('乙', '语文', 85);
INSERT INTO test_course VALUES('丙', '语文', 75);
INSERT INTO test_course VALUES('丁', '语文', 65);
INSERT INTO test_course VALUES('戊', '语文', 55);
INSERT INTO test_course VALUES('己', '语文', 50);
INSERT INTO test_course VALUES('庚', '语文', 60);
INSERT INTO test_course VALUES('辛', '语文', 70);
INSERT INTO test_course VALUES('壬', '语文', 80);
INSERT INTO test_course VALUES('奎', '语文', 90);

INSERT INTO test_course VALUES('甲', '数学', 90);
INSERT INTO test_course VALUES('乙', '数学', 80);
INSERT INTO test_course VALUES('丙', '数学', 70);
INSERT INTO test_course VALUES('丁', '数学', 60);
INSERT INTO test_course VALUES('戊', '数学', 50);
INSERT INTO test_course VALUES('己', '数学', 50);
INSERT INTO test_course VALUES('庚', '数学', 60);
INSERT INTO test_course VALUES('辛', '数学', 70);
INSERT INTO test_course VALUES('壬', '数学', 85);
INSERT INTO test_course VALUES('奎', '数学', 95);

按照分数 排名 从高到底
SELECT
RANK() OVER( ORDER BY SUM(grade) DESC) AS NO,
student_name,
SUM(grade) AS AllGrade
FROM
test_course
GROUP BY
student_name
ORDER BY
SUM(grade) DESC

NO STUDENT_NA ALLGRADE
---------- ---------- ----------
1 奎 185
1 甲 185
3 乙 165
3 壬 165
5 丙 145
6 辛 140
7 丁 125
8 庚 120
9 戊 105
10 己 100

已选择10行。

热心网友 时间:2022-04-10 23:35

先把最大值找出来,然后以最大值做为条件再查询一遍。

热心网友 时间:2022-04-11 01:10

用 rank() over() 的方式
例如 A表 有两个字段 A1,A2
需要取A2最大值的记录
select * from
(
select a1,a2,rank()over(order by a2) t from A
)
where t=1

热心网友 时间:2022-04-11 03:01

具体问题具体分析吧
你前边是怎么写的?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音弹幕怎么关掉?怎么关闭抖音弹幕? 惠普LaserJet P3005D是否支持B5纸的双面打印? word打印出图片总是缺一部分怎么办-word打印图片不完整怎么解决_百度... 理想one哪里产的车辆? 抚州抚州ONE在哪里? one地址在哪里? 如何在图片上写字(如何在图片上添加文字) 网商贷为什么钱没到账 高级经济师职称怎么评 高级经济师需要评审吗 请问天冬,桑叶,桑葚,决明子,番泻叶,陈皮,它们各有什么用途? 陈皮可以和泻叶一起泡吗 番泻叶和陈皮和一起泡水喝有什么作用? 摩托车火花塞A7TC和A7RIU有什么区别? 飞鹰FY125T-3A踏板摩托车原配的火花塞型号是多少?摩托车的说明书找不到,换的火花塞一堆都是A7TC的 豪爵悦星hj125t-9使用什么型号火花塞 豪爵宇钻的原装火花塞CR值是多少?最好有详细参数。 火花塞B7RIU和A7TC能不能通用? 摩托车火花塞(ngk)cr6hsa更换为(火炬)a7riu行不行 火花塞A7RTC和 A7TC什么区别 A7RTP火花塞是否可用于电啧摩托车? 摩托车火花塞的a7rc和a7tc的区别 何文杰和狼王之间发生了什么矛盾? 赣州市有几家豆奶饮料厂? 急求2010金山毒霸通行证和密码,!!~~邮箱gyt8617844@sina.com 豆奶饮品习惯调研报告有没有呢? 一袋维维豆奶的热量和脂肪是多少 呱呱里面的金至尊土豪会所,金至尊豆奶谁知道现在在那个软件里跳舞呢 WIN10取消键盘开机,但无法唤醒睡眠 儿童床铁床木床好点的是哪个 纽恩泰空气能出现e62是什么故障? 纽恩泰空气能故障码E32是什么故障 纽恩泰空气能为什么一直显示14.1? 纽恩泰空气能e1:03是什么故障,怎样解决。主机现不运行。 纽恩泰空气能热水器故障代码E141 用什么软件做长图不容易模糊 手机QQ浏览器文件导长图与导PDF有什么不同? 因为我太傻手机铃声 金贤重因为我太傻铃声 SS501的因为我太傻 八音盒前奏 手机铃声 SS501的因为我太傻 八音盒前奏 手机铃声 哪位亲有的发给我 谢谢 kiki.1221.love@163.com 求金贤重独唱《因为我太傻》铃声版 710960691@qq.com 谢谢啦 小天鹅洗衣机人工服务热线 SS501 因为我脑子不好这歌曲的手机铃声谁有下载的 适合做手机铃声的歌曲,不要太普遍 长沙lg洗衣机维修 ??? 推荐5首以上80后喜欢的手机铃声 吉利维修服务电话地址 日韩铃声 求好听的手机铃声。