2014-03-26 86 views
1

如何編寫一個只顯示10個數據並且只顯示count列中最高數字的查詢?SQL Server查詢,按列中較高數字的順序

我在想,

SELECT * 
FROM score 
WHERE count = (SELECT MAX(count) 
       FROM score 
       WHERE count <> (SELECT MAX(count) FROM score) TOP 10; 

我知道我幾乎沒有只是不太。

我想從得分表中顯示最高計數的前十名。

+0

要麼您嘗試使其更復雜,或者您缺少部分信息。我試着在我的回答中解決這兩個問題,但如果我錯過了一些東西,請告訴我。 – paqogomez

+0

我試圖從計數列中獲得最高分數以顯示最高到最低和僅顯示10.並且我會過於複雜的事情。 – Beep

+0

好吧,你的第一個通過sql運行,謝謝。 – Beep

回答

1

如果你有成績,只是想看看他們依次是:

SELECT 
    top 10 count 
FROM 
    score 
order by count desc 

要使用聚合,你需要把它比較反對的東西。例如,如果您有用戶,請執行以下操作:

SELECT 
    top 10 sum(count), u.userid 
FROM 
    score s 
    inner join users u on s.userid = u.userid 
group by u.userid 
order by sum(count) desc 
0

SELECT * FROM SCORE ORDER BY COUNT DESC TOP 10

或任何top 10去...會給前10名的分數。

SELECT * FROM SCORE WHERE COUNT = (SELECT MAX(COUNT) FROM SCORE) TOP 10

前10排有得分等於最大計數。

+0

在MS Sql Server中,「TOP」關鍵字位於select中。它與MySQL和其他語言中的「LIMIT」相同,但是「LIMIT」放在語句的末尾,就像你在這裏完成的那樣。此查詢不會在MSSQL或MySQL中運行。 – paqogomez