如何用SQL查询获取数据表中每个ID对应的最大Value值?
问题
现有SQL数据表:
ID Value 10 5 10 6 11 6 12 7 13 10 13 11
需求:编写SQL查询语句,返回每个ID对应的最大Value值(即使ID仅存在一行数据),期望得到结果:
ID | Value 10 6 11 6 12 7 13 11
解决方案
使用GROUP BY分组搭配MAX()聚合函数即可实现,这是通用写法,适配多数主流SQL数据库:
SELECT ID, MAX(Value) AS Value FROM your_table_name GROUP BY ID;
关键点说明
GROUP BY ID:将相同ID的记录归为同一组MAX(Value):计算每组内Value字段的最大值AS Value:将聚合结果的列名设置为Value,与期望输出保持一致
注意将语句中的your_table_name替换为你实际使用的数据表名称。
内容的提问来源于stack exchange,提问作者Dion
相关产品推荐
相关产品推荐

