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

如何实现SQL相同ID分组去重后返回对应VAL字段的最大值

解决方案

你之前的SQL逻辑方向没问题,但是过滤条件写错了:你把ID的筛选条件误写在了VAL字段上,自然得不到正确结果。

你要的需求可以直接用聚合查询实现,是非常简洁的单行语句:

SELECT ID, MAX(VAL) AS VAL FROM 你的表名 WHERE ID = '1002' GROUP BY ID;

逻辑验证

完全匹配你列出的三个要求:

  • 当ID对应VAL同时存在1和0时,MAX(VAL)返回1
  • 当ID对应VAL全为1时,MAX(VAL)返回1
  • 当ID对应VAL全为0时,MAX(VAL)返回0

如果需要查询全表所有ID的对应结果,去掉WHERE ID = '1002'的过滤条件即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 11:15:08