質問編集履歴
1
誤りの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
2
|
|
3
|
-
|
3
|
+
特定のカラムごとにまとめて最大値を持つ行を抜き出したい
|
4
4
|
|
5
5
|
こういうときの良いSQLの書き方を教えてほしいです。
|
6
6
|
|
@@ -10,7 +10,9 @@
|
|
10
10
|
|
11
11
|
以下のようなデータで、クラスごとに最大点をとった人の
|
12
12
|
|
13
|
-
クラス、点数、名前を抜き出したいです
|
13
|
+
クラス、点数、名前を抜き出したいです。
|
14
|
+
|
15
|
+
同率一位がいた場合は全員抜き出したいです。
|
14
16
|
|
15
17
|
|
16
18
|
|
@@ -24,9 +26,11 @@
|
|
24
26
|
|
25
27
|
|A|30|佐藤|
|
26
28
|
|
29
|
+
|A|60|安田|
|
30
|
+
|
27
31
|
|A|60|鈴木|
|
28
32
|
|
29
|
-
|B|
|
33
|
+
|B|60|田中|
|
30
34
|
|
31
35
|
|B|80|高橋|
|
32
36
|
|
@@ -44,6 +48,8 @@
|
|
44
48
|
|
45
49
|
|:--|:--:|--:|
|
46
50
|
|
51
|
+
|A|60|安田|
|
52
|
+
|
47
53
|
|A |60| 鈴木
|
48
54
|
|
49
55
|
|B |80| 高橋
|
@@ -54,7 +60,9 @@
|
|
54
60
|
|
55
61
|
|
56
62
|
|
57
|
-
以下のような副問合せで取り出せて
|
63
|
+
以下のような副問合せで取り出せそうだと思いましたが、これだとあるクラスの最高点と同じ他の人も抜き出してしまっていました。
|
64
|
+
|
65
|
+
(この例だとAの最高点(60)と同じBの田中も抜き出してしまっていました)
|
58
66
|
|
59
67
|
```SQL
|
60
68
|
|
@@ -90,7 +98,9 @@
|
|
90
98
|
|
91
99
|
### 質問したいこと
|
92
100
|
|
101
|
+
上記の取り出し方ができるSQLを知りたいです。
|
102
|
+
|
93
|
-
取り出したいデータに対してSQLが複雑な気がするのですが、もっと簡潔な書き方はありますでしょうか。
|
103
|
+
また取り出したいデータに対してSQLが複雑な気がするのですが、もっと簡潔な書き方はありますでしょうか。
|
94
104
|
|
95
105
|
window関数とかを使えばもっと簡潔にかけそうな気がするのですがよくわかっておりません。
|
96
106
|
|