You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL技术问询:如何保留重复获胜队记录?已尝试HAVING子句

问题分析与解决

你的查询只返回每个获胜队一次,核心原因是误用了GROUP BY Winner和AVG()聚合函数——GROUP BY Winner会把同一支获胜队的所有比赛合并为一组,AVG()则计算该队所有获胜场次的平均分差,这直接导致单场比赛的详细记录被合并丢失。

要显示所有比赛的完整记录,不需要分组聚合,直接针对单场比赛计算分差即可:

SELECT Winner, Winner_Pts, Loser, Loser_Pts, Date,
    CASE
        WHEN (Winner_Pts - Loser_Pts) >= 14 THEN 'yes'
        ELSE 'no'
    END AS won_by_more_than_14
FROM superbowls
ORDER BY Winner_Pts DESC

关键改动说明:

  • 移除GROUP BY Winner:让每条比赛记录独立被查询,不会被合并分组
  • 删除AVG()函数:直接用单场的Winner_Pts - Loser_Pts计算分差,判断单场是否满足分差≥14的条件
  • 替换字符串引号:多数SQL数据库中,字符串常量用单引号更规范,字段别名无需额外引号(若需转义可使用反引号)

修改后就能返回所有比赛的完整记录,同时正确标记每场比赛的获胜分差是否达标。

内容的提问来源于stack exchange,提问作者Taylar Massengale

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:15:52