从组中选择最高记录

时间:2010-10-08 08:37:29

标签: sql sql-server-2005

如何从此表中

Name  Code
ABC     Code1
DEF     Code1
GHI     Code2
JKL     Code2
OMN     Code3

得到这个结果:

Name  Code
ABC   Code1
GHI   Code2
OMN   Code3

有没有简单的解决方案?

4 个答案:

答案 0 :(得分:4)

SELECT MIN(Name),Code
FROM Table
GROUP BY Code

答案 1 :(得分:3)

我认为您希望结果按字母顺序排列。

SELECT
         MIN(Name), Code
FROM 
         MyTable 
GROUP BY 
         Code

答案 2 :(得分:1)

SELECT MIN(c1),c2 FROM table GROUP BY c2 ORDER BY c2 ASC;

答案 3 :(得分:1)

如果您的“TOP”由“首先按字母顺序排列”定义,您可以简单地使用带有MIN聚合的简单group by子句。

SELECT MIN(Col1), Col2 FROM table GROUP BY Col2

否则,您将需要另一列,例如递增唯一ID或创建日期。