回答編集履歴
2
簡潔に
answer
CHANGED
@@ -12,15 +12,5 @@
|
|
12
12
|
|A|xxx|
|
13
13
|
|B|yyy|
|
14
14
|
|
15
|
-
このテーブルをitem_idでグルーピング
|
16
|
-
|item_id|name|
|
17
|
-
|:--:|--:|
|
18
|
-
|A|xxx|
|
19
|
-
|A|xxx|
|
20
|
-
|A|xxx|
|
21
|
-
|B|yyy|
|
22
|
-
|B|yyy|
|
23
|
-
|C|zzz|
|
24
|
-
|
25
|
-
|
15
|
+
テーブルの中でAは3つ、Bは2つ、Cは1つなので
|
26
16
|
`COUNT(item_id) > 1` だとAとBなので、重複しているレコードが抽出されるという訳です。
|
1
簡単な説明を追加
answer
CHANGED
@@ -1,3 +1,26 @@
|
|
1
1
|
group byで同じitem_idをまとめているのは分かりますよね?
|
2
2
|
その中でCOUNTが1より大きい。つまりはレコードが2個以上のものを抽出する訳ですから
|
3
|
-
「1つしかない=重複していないもの」は抽出されず、「2個以上=重複しているもの」は抽出されるということになります。
|
3
|
+
「1つしかない=重複していないもの」は抽出されず、「2個以上=重複しているもの」は抽出されるということになります。
|
4
|
+
|
5
|
+
こんなテーブルはおかしいですが、説明だけすると
|
6
|
+
|item_id|name|
|
7
|
+
|:--:|--:|
|
8
|
+
|A|xxx|
|
9
|
+
|B|yyy|
|
10
|
+
|C|zzz|
|
11
|
+
|A|xxx|
|
12
|
+
|A|xxx|
|
13
|
+
|B|yyy|
|
14
|
+
|
15
|
+
このテーブルをitem_idでグルーピング
|
16
|
+
|item_id|name|
|
17
|
+
|:--:|--:|
|
18
|
+
|A|xxx|
|
19
|
+
|A|xxx|
|
20
|
+
|A|xxx|
|
21
|
+
|B|yyy|
|
22
|
+
|B|yyy|
|
23
|
+
|C|zzz|
|
24
|
+
|
25
|
+
COUNTを取ると、Aは3つ、Bは2つ、Cは1つなので
|
26
|
+
`COUNT(item_id) > 1` だとAとBなので、重複しているレコードが抽出されるという訳です。
|