差值找空值
差值找空值
SELECT COUNT(*) AS rows_all,
COUNT(phone) AS phone_not_null,
COUNT(*) - COUNT(phone) AS phone_null
FROM users;| 含 NULL | COUNT(*) 计入;COUNT(col) 不计入 |
|---|---|
| 性能 | 两者都需扫描匹配行,差异主要在语义 |
| 常见误用 | 用 COUNT(可空列) 当总数 |
两者都可能出现在同一条 SQL 里但含义不同:COUNT(*) 数行;COUNT(col) 数非 NULL 值。排查数据质量时常用两者差值找空值。
SELECT COUNT(*) AS rows_all,
COUNT(phone) AS phone_not_null,
COUNT(*) - COUNT(phone) AS phone_null
FROM users;| 含 NULL | COUNT(*) 计入;COUNT(col) 不计入 |
|---|---|
| 性能 | 两者都需扫描匹配行,差异主要在语义 |
| 常见误用 | 用 COUNT(可空列) 当总数 |