【发布时间】:2019-08-02 14:42:01
【问题描述】:
我有一个类似结构和数据的示例表,如下所示:
+------+---------+-------------+------------+
| S_ID | S_NAME | SUBJECT | MARK_VALUE |
+------+---------+-------------+------------+
| 1 | Stud | SUB_1 | 50 |
| 2 | Stud | SUB_2 | 60 |
| 3 | Stud | SUB_3 | 70 |
| 4 | Stud_1 | SUB_1 | 40 |
| 5 | Stud_1 | SUB_2 | 50 |
| 6 | Stud_2 | SUB_2 | 40 |
+------+---------+-------------+------------+
表格有每个学生在所有科目中出现的每个学生的综合分数。
请帮我写一个查询来提取每个学生获得的最高分数(不分学科/其他学生),如下所示:
按 S_Name 和 Max(MARK_Value) 分组
+------+---------+-------------+------------+
| S_ID | S_NAME | SUBJECT | MAX_MARK |
+------+---------+-------------+------------+
| 3 | Stud | SUB_3 | 70 |
| 5 | Stud_1 | SUB_2 | 50 |
| 6 | Stud_2 | SUB_2 | 40 |
+------+---------+-------------+------------+
【问题讨论】:
标签: sql oracle aggregate-functions greatest-n-per-group