2

我有下表:

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) 的一个。

我做不到,非常感谢您的帮助

4

2 回答 2

1
select FKID1, FKID2, max(a)
from yourTable
group by FKID1, FKID2

您需要分组,并应用聚合函数。在此处阅读有关此内容的更多信息。另外,网上有更多关于这个条款的教程

于 2012-09-26T16:50:21.313 回答
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
于 2012-09-26T16:50:27.873 回答