如何根据单个不同的值选择行

时间:2013-08-19 13:52:20

标签: sql-server sql-server-2008 distinct

如果我有4行并且想要根据单个列的不同值选择行,并且不介意它用于行的其余部分的信息,我该怎么做?单个cols似乎没有“独特”功能,同时保留其余行数据。

例如

Name, value
john 1
john 2
michael 3
michael 5

结果

john 1
michael 5
注意它可能是约翰2或迈克尔3,我不关心约翰或迈克尔的哪一行用于其余值。

2 个答案:

答案 0 :(得分:2)

GROUP BY Name并使用value MINMAX的任何汇总函数,因为您不关心它的价值:

SELECT Name, MIN(value)
FROM table
GROUP BY Name

答案 1 :(得分:2)

试试这个

select a.* from TAbleName a
    inner join 
    (
     select distinct name,min(Id) as id  from TAbleName  
      group by name
    ) as b
    on a.name= b.name
    and a.id=b.id