在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
的数量。