我有下表:
FKID1 FKID2 A
3 40297 3
3 40297 5
3 40325 9
3 40325 8
3 40325 1
3 40348 1
3 40391 2
3 40392 7
3 40501 5
3 40501 4
我需要一个查询来得到下表:
FKID1 FKID2 A
3 40297 5
3 40325 9
3 40348 1
3 40391 2
3 40392 7
3 40501 5
因此它只从重复项中选择1个FKID2,并选择与其关联的max(A)的那个。
我无法做到,所以非常感谢您的帮助
答案 0 :(得分:1)
select FKID1, FKID2, max(a)
from yourTable
group by FKID1, FKID2
您需要分组依据并应用聚合函数。 阅读有关此here的更多信息。此外,有关Internet上此条款的更多教程
答案 1 :(得分:1)
请记住,当您使用AGGREGATE FUNCTIONS
时,请不要忘记添加GROUP BY
子句,否则您将只有一个值。试试这个,
SELECT FKID1, FKID2, MAX(A) maxValue
FROM tableName
GROUP BY FKID1, FKID2
如果您不希望在结果上显示FKID1
,
SELECT FKID2, MAX(A) maxValue
FROM tableName
GROUP BY FKID2