一 题目
统计每场比赛双方得分,最终输出如下:
二 数据表结构(简化):
game表-比赛信息:
goal表-进球记录:
三 参考答案:
LEFT JOIN + CASE + COALESCE
四 技术说明
LEFT JOIN:保留所有比赛记录,即使某场比分为 0:0
CASE WHEN:判断是哪个队进的球
SUM(...):累计进球数量
COALESCE(..., 0):把没进球的 NULL 转换成 0
GROUP BY g.id:支持ORDER BY中使用的g.id,防止出错
五 拓展玩法:
计算胜负:
计算进球差:
六 总结:
LEFT JOIN + CASE WHEN + COALESCE,统计比赛得分,0:0 也不漏。
说明:
本题参考自 SQLZoo(sqlzoo.net),内容为个人学习总结,欢迎交流分享,转载请注明来源
— END —
数据分析,一起努力。
Thryze|数据分析 × AI能力成长 × 效率工具探索