2013-04-14 55 views
0

我需要一個MySQL查詢的解決方案,它基本上是由域取決於兩個順序,下面是這種情況,列表名稱的字母順序在遞減順序計數

我有一個表,說abc與領域,如,

auto_id name count_values 

1  html  10 
2  css  29 
3  js  65 
4  jquery  3 
5  html5  9 
6  asp  58 
7  php  34 
8  xcode  6 
.... 

等(超過100條記錄)

所以我需要的結果,基本上列出所有count_values名的基礎上,
name > alphabetically + count_values > maximum

我試圖與

Select 
    distinct name, 
    count_values 
from 
    abc 
where 
    count_values > 0 
group by 
    name 
order by 
    name asc, count_values desc 
limit 0, 10; 

但結果是顯示按字母順序排列的名字在那裏,因爲我有Xcode的數據行一些大的數量是不是在列表中。

+0

當你分組時,你是否也需要計算那些count_values?或者只需要任何1個記錄任何1個名字 –

+0

@HankyPankyㇱ,沒有它的總和,只是我需要包含名稱的字母順序與最大count_value的行的列表。事件,如果我有限制它5或50 –

+0

然後爲什麼組他們呢? –

回答

0

這將輸出最高count_values的10行,依次爲name

SELECT * 
FROM (SELECT name, MAX(count_values) count_values 
     FROM abc 
     WHERE count_values > 0 
     GROUP BY name 
     ORDER BY count_values DESC 
     LIMIT 10) x 
ORDER BY name 
+0

但是,如果他們填寫標準,這可以顯示重複的名稱,不是嗎? –

+0

是的..我得到重複的行.. –

+0

我已經添加了GROUP BY,重複記錄被省略。我認爲它會幫助我。讓我再驗證一次。 –