MySQL 可用别名
MySQL 可用别名
SELECT city, COUNT(*) AS cnt
FROM users
GROUP BY city
HAVING cnt > 5;PostgreSQL 改写
PostgreSQL 改写
-- 1) 重复聚合表达式
SELECT city, COUNT(*) AS cnt
FROM users
GROUP BY city
HAVING COUNT(*) > 5;
-- 2) 子查询包装
SELECT * FROM (
SELECT city, COUNT(*) AS cnt
FROM users
GROUP BY city
) t
WHERE t.cnt > 5;| MySQL | HAVING/GROUP BY/ORDER BY 可用别名 |
|---|---|
| PostgreSQL | HAVING 不可用别名;ORDER BY 可以 |
| 移植 | 迁移 SQL 时优先写聚合表达式 |