私は顧客あたりの注文数を数えたいと思っているorder_item_id
customer_id
とorder_id
のテーブルを持っています(表1)。私はこれを試してみました(と、より多くの)注文数を集計します
|numberOfOrders|customer_id|
| 2 | 1 |
| 1 | 2 |
| 2 | 3 |
:
CREATE TABLE X AS
SELECT
customer_id,
COUNT(order_id) AS `numberOfOrders`
FROM Table1 T1
GROUP BY customer_id;
問題があること、である残念ながら、複数の物品との順序は同じorder_id
|order_item_id|order_id|customer_id|
| 2 | 30 | 1 |
| 3 | 30 | 1 |
| 4 | 42 | 1 |
| 5 | 33 | 2 |
| 11 | 32 | 3 |
| 12 | 33 | 2 |
| 13 | 33 | 2 |
| 19 | 69 | 3 |
期待される成果を持っていますこのソリューションでは、注文数ではなくすべての商品を数えます。したがって、顧客1の注文数は3(2ではない)、顧客2は3(1ではない)です。
Mysqlクエリを使用して大きなデータベースでこれをどのように解決できますか?
ブラボー!! 2つのグループではなく最適化された回答 –