Sql 考虑到另一列中的重复值,我需要选择一列

Sql 考虑到另一列中的重复值,我需要选择一列,sql,sql-server,Sql,Sql Server,我有这张桌子 parameterid hdfid 32 1/3 7 1/2/3 42 1/2/3 48 1/2/3 51 1/2/3 52 1/2/3 44 1/2/3/4 考虑到hdfid的不同值,我需要选择一个参数。如果我有几个相同的hdfid,我需要得到一个参数,不管是哪一个 parameterid 32 7 44

我有这张桌子

parameterid hdfid

32          1/3
7           1/2/3
42          1/2/3
48          1/2/3
51          1/2/3
52          1/2/3
44          1/2/3/4
考虑到hdfid的不同值,我需要选择一个参数。如果我有几个相同的hdfid,我需要得到一个参数,不管是哪一个

parameterid 

32          
7           
44  

我一直在努力解决这个问题。有什么想法吗?

选择min(parameterid)作为parameterid
select min(parameterid) as parameterid
from [<YourTable>] 
group by hdfid
从[] 按hdfid分组
尝试此查询

select  min(parameterid) from tbl group by hdfid

可以使用GROUP BY将集合中的行组合到一个分组集合中。您可以使用诸如MAX()COUNT()和MIN()之类的聚合函数从分组集中的行中获取组合值或仅获取一个值。这将返回每个唯一hdfid的第一个参数ID

SELECT
MIN(parameterid)
,hdfid
FROM yourtable
GROUP BY hdfid
如果您不想要hdfid,可以这样做:

SELECT
MIN(parameterid)
FROM yourtable
GROUP BY hdfid
或者,如果您希望获得最高的值:

SELECT
MAX(parameterid)
FROM yourtable
GROUP BY hdfid

通过hdfid从tbl组中选择参数ID
。。。。希望这有帮助…@Meherzad在SQL Server中不起作用-
“列'parameterid'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。”
。您需要
MIN(parameterid)
MAX(parameterid)
或其他什么。感谢您的指点……:)想到mysql。。试试这个<代码>按hdfid从tbl组中选择hdfid,min(参数ID)
SELECT
MIN(parameterid)
FROM yourtable
GROUP BY hdfid
SELECT
MAX(parameterid)
FROM yourtable
GROUP BY hdfid