我需要考虑另一列中的重复值来选择一列

时间:2013-04-26 10:37:35

标签: 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的不同值来选择parameterid。如果我有几个相同的hdfid,我需要得到一个参数,无论哪一个。

parameterid 

32          
7           
44  

parameterid 

32          
42          
44

一直在努力解决这个问题。任何想法??

3 个答案:

答案 0 :(得分:3)

尝试此查询

select  min(parameterid) from tbl group by hdfid

FIDDLE

| COLUMN_0 |
------------
|        7 |
|       44 |
|       32 |

答案 1 :(得分:2)

select min(parameterid) as parameterid
from [<YourTable>] 
group by hdfid

答案 2 :(得分:2)

您可以使用GROUP BY将您的集合中的行组合到一个分组集中。您可以使用MAX()COUNT()和MIN()等聚合函数来组合,或者只使用分组集中的行中的一个值。这将返回每个唯一hdfid的第一个parameterid

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