2016-01-10 20 views
1

我想按照從大到小的順序檢索表值。 例如,如果我們有一個列的表像的下面,SQL中從大到小的順序值

selected_val 
    2 
    3 
    3 
    2 
    1 
    3 
    1 
    1 
    1 
    4 

我需要一個SQL,將在1順序返回值,3,2,4,因爲有四個1的三3個,2個2個,還有4個在桌上。我只需要不同的值,這意味着我不想要1,1,1,1,3,3,3,2,2,4。這可能嗎?

回答

3

您可以使用分組來實現這一目標:

SELECT selected_val 
FROM mytable 
GROUP BY selected_val 
ORDER BY COUNT(*) DESC 

這裏的竅門是ORDER BY每個組的行數:降序排序產生了selected_val有擺在首位的最大行數,然後是第二個值等

2

,你可以按價值和秩序由count(*)

SELECT selected_val 
FROM  mytable 
GROUP BY selected_val 
ORDER BY COUNT(*) DESC 
相關問題