中软面试的一个sql题。
题目:
[img]http://dl.iteye.com/upload/attachment/282687/6d157c5c-94e4-3959-b8f3-3d2361ab7e78.png[/img]
1、每个科目的最高分。
2、java成绩最高的姓名
3、java成绩第二高的姓名
第一个没什么好说的。
对第二题和第三题,取得成绩可能有多的。可以使用分析函数。DENSE_RANK
SELECT t.name,
t.kemu,
t.score,
DENSE_RANK() OVER (PARTITION BY t.kemu ORDER BY t.score) seq
FROM ke_chengji t;
题目:
[img]http://dl.iteye.com/upload/attachment/282687/6d157c5c-94e4-3959-b8f3-3d2361ab7e78.png[/img]
1、每个科目的最高分。
2、java成绩最高的姓名
3、java成绩第二高的姓名
第一个没什么好说的。
对第二题和第三题,取得成绩可能有多的。可以使用分析函数。DENSE_RANK
SELECT t.name,
t.kemu,
t.score,
DENSE_RANK() OVER (PARTITION BY t.kemu ORDER BY t.score) seq
FROM ke_chengji t;