SQLPathLab
聚合统计 · 基础

COUNT

统计行数或非空值数量。

简介

COUNT(*) 统计筛选后结果中的行数,COUNT(字段) 只统计该字段非 NULL 的行。COUNT 可以对整张结果统计,也可以配合 GROUP BY 生成每组数量;它返回 0 而不是 NULL。统计业务对象时还要确认 JOIN 是否放大了行数,否则语法正确也可能得到错误指标。

基础语法

SELECT COUNT(*) AS total FROM orders;

示例

COUNT 示例

统计 orders 中的总行数,并核对示例表四条记录对应 total 等于 4。

示例数据表

表名:orders
orders
id
1
2
3
4

运行结果

result
total
4

常见问题

COUNT(*) 与 COUNT(字段) 相同吗?

不同。COUNT(*) 统计行,COUNT(字段) 忽略该字段为 NULL 的行。

MAX 和 MIN 会保留原记录的其他字段吗?

不会。它们只返回聚合值;需要整行时应再连接、排序或使用窗口函数。

聚合前后的筛选分别写在哪里?

明细条件放在 WHERE,聚合结果条件放在 HAVING。

标签

聚合统计常用

这篇内容是否清楚?