回答編集履歴
3
修正
answer
CHANGED
@@ -49,33 +49,6 @@
|
|
49
49
|
|4|4|1|1|
|
50
50
|
|
51
51
|
|
52
|
+
-- 冗長な説明だったので削除 --
|
52
53
|
|
53
|
-
GROUP BYは、全体が偶数かつ中央値に同じ値が複数存在する場合に、重複を排除するためです。
|
54
|
-
|
55
|
-
|income|
|
56
|
-
|--:|
|
57
|
-
|1|
|
58
|
-
|2|
|
59
|
-
|3|
|
60
|
-
|3|
|
61
|
-
|
62
|
-
|T1.income|T2.income|>=|<=|
|
63
|
-
|--:|--:|--:|--:|
|
64
|
-
|1|1|1|1|
|
65
|
-
|1|2|0|1|
|
66
|
-
|1|3|0|1|
|
67
|
-
|1|3|0|1|
|
68
|
-
|2|1|1|0|
|
69
|
-
|2|2|1|1|
|
70
|
-
|2|3|0|1|
|
71
|
-
|2|3|0|1|
|
72
|
-
|3|1|1|0|
|
73
|
-
|3|2|1|0|
|
74
|
-
|3|3|1|1|
|
75
|
-
|3|3|1|1|
|
76
|
-
|3|1|1|0|
|
77
|
-
|3|2|1|0|
|
78
|
-
|3|3|1|1|
|
79
|
-
|3|3|1|1|
|
80
|
-
|
81
|
-
|
54
|
+
なお、DISTINCTはGROUP BYが既に使用されているため不要なはずです。同じくミックさんによる「SQL実践入門」でも同様のSQLが掲載されていますが、そこではDISTINCTはつけられていません。
|
2
追記
answer
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
|
51
51
|
|
52
52
|
|
53
|
-
|
53
|
+
GROUP BYは、全体が偶数かつ中央値に同じ値が複数存在する場合に、重複を排除するためです。
|
54
54
|
|
55
55
|
|income|
|
56
56
|
|--:|
|
@@ -78,4 +78,4 @@
|
|
78
78
|
|3|3|1|1|
|
79
79
|
|3|3|1|1|
|
80
80
|
|
81
|
-
このような場合HAVING句では2, 3, 3が抽出されますが、
|
81
|
+
このような場合HAVING句では2, 3, 3が抽出されますが、GROUP BYにより3の重複が取り除かれ、AVG(2, 3)で正しく中央値が計算されます。なお、GROUP BYとDISTINCTは役割が重複してるためどちらか一方でいいはずです。同じくミックさんによる「SQL実践入門」でも同様のSQLが掲載されていますが、そこではDISTINCTはつけられていません。
|
1
誤字修正
answer
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
|3|4|0|1|
|
46
46
|
|4|1|1|0|
|
47
47
|
|4|2|1|0|
|
48
|
-
|4|3|1|
|
48
|
+
|4|3|1|0|
|
49
49
|
|4|4|1|1|
|
50
50
|
|
51
51
|
|