COUNT
统计行数或非空值数量。
简介
COUNT(*) 统计筛选后结果中的行数,COUNT(字段) 只统计该字段非 NULL 的行。COUNT 可以对整张结果统计,也可以配合 GROUP BY 生成每组数量;它返回 0 而不是 NULL。统计业务对象时还要确认 JOIN 是否放大了行数,否则语法正确也可能得到错误指标。
基础语法
SELECT COUNT(*) AS total FROM orders;
示例
COUNT 示例
统计 orders 中的总行数,并核对示例表四条记录对应 total 等于 4。
示例数据表
表名:
orders| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
运行结果
| total |
|---|
| 4 |
常见问题
COUNT(*) 与 COUNT(字段) 相同吗?
不同。COUNT(*) 统计行,COUNT(字段) 忽略该字段为 NULL 的行。
MAX 和 MIN 会保留原记录的其他字段吗?
不会。它们只返回聚合值;需要整行时应再连接、排序或使用窗口函数。
聚合前后的筛选分别写在哪里?
明细条件放在 WHERE,聚合结果条件放在 HAVING。
标签
这篇内容是否清楚?
感谢反馈,我们会把它用于后续内容复核。