2016-05-31 73 views
2

我有一個表像值:SQL最小值和最大值爲多行

Name Test Score 
Bob Test1 97.0 
Bob Test2 96.5 
Bob Test3 94.5 
Joe Test1 96.5 
Joe Test2 98.5 
Joe Test3 92.0 

我想MINMAX得分爲每個Name在一行上,如:

Name Min_Score Max_Score 
Bob 94.5  97.0 
Joe 92.0  98.5 

我可以單獨獲得MINMAX,但不知道如何同時獲得兩者。

+0

什麼數據庫系統是你在用嗎? –

+1

'按名稱從表組中選擇名稱,min(分數)作爲min_score,max(得分)作爲max_score' – Hellion

+0

MSSQL ...我試過,但兩個值相等。 – macbb

回答

3

您可以按名稱對選擇進行分組。這將爲您提供每個獨特的名稱。您還可以使用聚合函數min和max來掃描您的表中的每個唯一名稱。這是一個普遍的要求:

SELECT 
    name 
    , min(score) as Min_score 
    , max(score) as max_score 
FROM table 
GROUP by name 

查詢Here is an example和正確的結果

+0

謝謝,我的結果讓我失望。我有很多分數是相同的最小值和最大值,所以我認爲它不能正常工作。 – macbb

相關問題