2013-07-01 65 views
0

我有一個包含兩列(Name(nvarchar(256))和Score(int在0和100之間)的表。每個名字可以有多個分數。我知道這應該很簡單,但我無法弄清楚如何得到一個包含每個名字的表格一次,以及該名稱的最高分數。誰能幫忙?從一列中選擇不同的值,使用另一列進行排序

+0

是'Name'實際上是一個'text'數據類型?,如果是這樣,請停止使用它,已被棄用。你將無法在「GROUP BY」,「ORDER BY」以及其他許多限制條件下使用它。 – Lamak

+0

它實際上是nvarchar(只是選中)更新操作 – James

+0

如果你有兩個名爲James的人,該怎麼辦?你怎麼知道哪個是哪個?你確定名字是你想分組的列嗎? –

回答

1

最簡單的方法是:

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

喜歡的東西:

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

應該做你以後。

0

這應做到:

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

試試這個

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

我建議你給看看W3Schools SQL Tutorial。它解釋了基本的東西和基本功能(在正確的SQL基本和SQL函數上),如果你看看這些課程,你可以自己做很多事情,大約需要20分鐘的閱讀+時間你應該保留嘗試;)

+0

[只是對W3Schools不說](http://meta.stackexchange.com/questions/120025/willi-i-待downvoted換給-A-W3Schools的鏈接)。 –

+0

我認爲這是錯過基本知識的人的一個很好的起點。當然,這不是一個使用的參考,只是基礎知識的起點 – Aleeeeee

相關問題