2010-01-16 46 views
1

我有一個包含評分的表格。評分中包含用戶提供的數據,例如鏈接系列所屬的語言。多個字段的最常見值

id series_id language quality type rating 
1 18   1   2  1  20 
2 18   2   3  2  13 
3 18   1   1  2  25 
4 18   1   3  5  8 
5 18   3   1  1  17 
6 18   3   3  2  9 

對於某個series_id,找到最常見的語言,質量和類型值的最佳方法是什麼?

換句話說,如果我正在查看18系列,它會返回以下數字,因爲這些數字發生最多。

language: 1 
quality: 3 
type:  2 

回答

3

這可能比較容易做到這一點作爲三個獨立的SELECT語句:

SELECT language 
FROM MyTable 
WHERE series_id = 18 
GROUP BY language 
ORDER BY COUNT(*) DESC LIMIT 1 

SELECT quality 
FROM MyTable 
WHERE series_id = 18 
GROUP BY quality 
ORDER BY COUNT(*) DESC LIMIT 1 

SELECT type 
FROM MyTable 
WHERE series_id = 18 
GROUP BY type 
ORDER BY COUNT(*) DESC LIMIT 1