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

SQL入门问题:查询总罚款超150美元的球员编号及总罚款额排错

问题原因
  • 你写的WHERE子句中的子查询(SELECT SUM(AMOUNT) FROM PENALTIES)统计的是全表所有罚款的总金额,固定值为480美元,永远满足>150的判断条件,相当于WHERE条件始终生效,所以查询会返回所有球员的分组聚合结果,没有实现按球员维度筛选总金额的需求。
  • SQL的执行顺序中,WHERE子句运行在GROUP BY分组之前,无法对分组后的聚合结果做过滤,分组后聚合结果的筛选需要用HAVING子句实现。
正确查询代码
SELECT PLAYERNO, SUM(AMOUNT) AS TOTAL_PENALTY
FROM PENALTIES
GROUP BY PLAYERNO
HAVING SUM(AMOUNT) > 150.00;
运行结果

基于你提供的测试数据,查询仅返回总罚款符合要求的27号球员:

PLAYERNOTOTAL_PENALTY
27175.00

内容的提问来源于stack exchange,提问作者Therone Jhoseff Almadin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 10:42:01