示例
示例
WITH paid AS (
SELECT user_id, SUM(amount) AS total
FROM orders
WHERE status = 'paid'
GROUP BY user_id
)
SELECT u.id, u.name, paid.total
FROM users u
JOIN paid ON paid.user_id = u.id
WHERE paid.total > 1000;| 作用域 | 只对紧随其后的一条语句有效 |
|---|---|
| 优点 | 可读性、复用中间结果 |
| 版本 | MySQL 8.0+;PostgreSQL 8.4+ |