Sql server 从ID列表中选择顶部ID

Sql server 从ID列表中选择顶部ID,sql-server,ssms,Sql Server,Ssms,我有一个邮政编码列表,每个邮政编码都会受到许多花旗银行的影响。 因此,每个邮政编码在“邮政编码”表中都存在很多次。 现在,通过这个列表,我想从表中找到zipeCodeid(每个邮政编码的第一个ID)。 但通过这样一个简单的选择: SELECT CODCODEPOSTAL,CODEPOSTALID FROM [***].[dbo].[CODEPOSTAL] where CODCODEPOSTAL in ( 3000 ,2080) group by CODCODEPOSTAL,CODEPOSTA

我有一个邮政编码列表,每个邮政编码都会受到许多花旗银行的影响。 因此,每个邮政编码在“邮政编码”表中都存在很多次。 现在,通过这个列表,我想从表中找到zipeCodeid(每个邮政编码的第一个ID)。 但通过这样一个简单的选择:

 SELECT  CODCODEPOSTAL,CODEPOSTALID
FROM [***].[dbo].[CODEPOSTAL]
where CODCODEPOSTAL in ( 3000
,2080) group by CODCODEPOSTAL,CODEPOSTALID order by CODCODEPOSTAL
结果是:对于每个zipCode,我们将有许多ZipCodeId

但我只想为每个邮政编码选择最上面的ZipCodeId


任何解决方案和感谢

顶部的ZipCodeID是否始终是最低的数字

如果是,请尝试以下方法:

SELECT CODCODEPOSTAL, MIN(CodePostalID) as CodePOstalID
FROM ***.[dbo].ZipCode
where CODCODEPOSTAL in (***)
GROUP BY CODCODEPOSTAL

如果没有,请提供一些示例数据,让我们知道您如何确定哪个是“top”ID。

是否“top”ZipCodeID始终是最低的数字

如果是,请尝试以下方法:

SELECT CODCODEPOSTAL, MIN(CodePostalID) as CodePOstalID
FROM ***.[dbo].ZipCode
where CODCODEPOSTAL in (***)
GROUP BY CODCODEPOSTAL

如果没有,请提供一些示例数据,让我们知道您如何确定哪个是“顶级”ID。

您应该添加一个
ORDER BY
语句,否则,什么定义了“顶级邮政编码”?@Icemanind Hi,问题修改您应该添加一个
ORDER BY
语句,否则,什么定义了“顶级邮政编码”?@Icemanind Hi,我的问题,我的问题modified@zarzou-已使用您编辑的字段名称修改了我的答案。您只需按codepostail分组,然后选择MIN(CODEPOSTALID)Hi,questionmodified@zarzou-已使用您编辑的字段名称修改了我的答案。您需要仅按CODEPOSTAL分组,然后选择MIN(CODEPOSTALID)