示例
示例
SELECT u.id,
COUNT(*) AS joined_rows,
COUNT(o.id) AS matched_orders,
COALESCE(SUM(o.amount), 0) AS total_amount
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id;| COUNT(*) | 连接后的全部行(未匹配用户为 1 行) |
|---|---|
| COUNT(o.id) | 非 NULL 的匹配行(未匹配用户为 0) |
| SUM | 未匹配时 SUM 为 NULL,用 COALESCE 兜底为 0 |