回答編集履歴

2

count(distinct))の方がいいか

2021/10/22 00:52

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -1 +1,11 @@
1
- SQLの販売実績が加算されているからです。なので、sum関数を外しましょう。
1
+ テーブル2によって販売実績が加算されているからです。なので、sum関数を外して**count(distinct(item_number))**
2
+
3
+
4
+
5
+ として、グループを集約しましょう。
6
+
7
+
8
+
9
+ [SELECT (SQL)](https://ja.wikipedia.org/wiki/SELECT_(SQL))
10
+
11
+ これのcount関数を参照。

1

間違い

2021/10/22 00:52

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -1,31 +1 @@
1
- SQLによっitem_numberでグループ制御しているからです。item_number型番としま
1
+ SQLの販売実績が加算されているからです。なので、sum関数しましょう
2
-
3
-
4
-
5
-
6
-
7
- ```sql
8
-
9
- "SELECT *,SUM(s.sales_number) AS sales
10
-
11
- FROM {$wpdb->prefix}items i INNER JOIN {$wpdb->prefix}sales s
12
-
13
- ON i.item_number = s.item_number
14
-
15
- WHERE i.item_number=$itemNumber
16
-
17
- GROUP BY i.item_number,s.color, s.size";
18
-
19
- ```
20
-
21
-
22
-
23
- GROUP BY句制御にitem_numberがあるため、たとえ色違い、サイズ違いでも型番が同じならば、型番が優先されてしまい、それによって集計(sum)されます。なので、
24
-
25
-
26
-
27
- `GROUP BY s.color,s.size`
28
-
29
-
30
-
31
- としましょう。