从一列中选择不同的值,使用另一列进行排序

时间:2013-07-01 15:12:39

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

我有一个包含两列的表,Name(nvarchar(256))和Score(int在0到100之间)。每个名称可以有多个分数。我知道它应该很简单,但我无法弄清楚如何只获得一个包含每个名称的表,以及该名称的最高分。有人可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

最简单的方法是:

select [Name], max([Score])
from t1
group by [Name]

答案 1 :(得分:1)

类似的东西:

SELECT Name, max(score)
  FROM Table
  GROUP BY Name

应该做你想做的事。

答案 2 :(得分:0)

这应该这样做:

SELECT Name, MAX(Score)
FROM t
GROUP BY Name

答案 3 :(得分:0)

试试这个

SELECT Name, max(Score) as Score
FROM table
GROUP BY Name
ORDER BY Score desc

我建议你看看W3Schools SQL Tutorial。它解释了基本的东西和基本的功能(在正确的SQL Basic和SQL函数上),如果你看一下这些课程,你将能够自己做很多事情,它需要大约20分钟的阅读+你应该保留尝试的时间;)