在MySQL中,您可以使用COUNT()函数结合GROUP BY子句来进行分组统计。以下是一个简单的示例:
假设您有一个名为orders的表,其中包含以下数据:
| order_id | customer_id | product_id | order_date |
|---|---|---|---|
| 1 | 1 | 101 | 2021-06-01 |
| 2 | 1 | 102 | 2021-06-01 |
| 3 | 2 | 101 | 2021-06-02 |
| 4 | 2 | 102 | 2021-06-02 |
| 5 | 3 | 101 | 2021-06-03 |
现在,假设您想要统计每个客户购买的不同产品的数量。您可以使用以下查询:
SELECT customer_id, COUNT(DISTINCT product_id) as product_count
FROM orders
GROUP BY customer_id;
这将返回以下结果:
| customer_id | product_count |
|---|---|
| 1 | 2 |
| 2 | 2 |
| 3 | 1 |
在这个例子中,我们使用COUNT(DISTINCT column_name)来计算每个分组中不同值的数量。GROUP BY子句根据customer_id对结果进行分组,然后我们计算每个分组中不同product_id的数量。