使用COUNT函数结合GROUP BY可统计每组记录数,如SELECT customer_id, COUNT() AS order_count FROM orders GROUP BY customer_id,按客户分组并计算各客户订单数量,注意COUNT()统计所有行,且SELECT中非聚合字段需与GROUP BY列一致。
在 SQL 中进行分组查询时,如果想统计每组的记录数,可以使用 COUNT() 函数结合 GROUP BY 子句来实现。
基本语法
SELECT 列名, COUNT(*) AS 记录数FROM 表名
GROUP BY 分组列名;
这条语句会按照指定列对数据进行分组,并统计每一组中有多少条记录。
实际示例
假设有一张订单表 orders,包含以下字段:
- order_id
- customer_id
- order_date
如果你想统计每个客户的订单数量,可以这样写:
SELECT customer_id, COUNT(*) AS order_countFROM orders
GROUP BY customer_id;
结果会列出每个 customer_id 及其对应的订单条数。
注意事项
使用 COUNT() 时可以根据需要选择不同的形式:
- COUNT(*):统计所有行,包括 NULL 值
- COUNT(列名):只统计该列非 NULL 的行数
确保 GROUP BY 后面的列与 SELECT 中非聚合字段保持一致,避免出现语法错误
或逻辑异常。
基本上就这些,不复杂但容易忽略细节。








