示例
示例
SELECT city,
COUNT(*) AS cnt,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 2) AS pct
FROM users
GROUP BY city
ORDER BY cnt DESC;| 窗口配合 | SUM(...) OVER () 得到分母(全部组总量) |
|---|---|
| 防除零 | 分母用 NULLIF(x, 0) |
| 整数除法 | 乘以 100.0 或用 CAST 转小数 |