2011-06-19 33 views
1

我需要在b_id中查找值,該值重複最長時間。例如查詢表下方應返回40(NB,查詢應返回單個值)mysql查詢找到重複最長時間的值

 
| b_id | s_id | doi  | dos  | charge | 
+------+------+------------+------------+--------+ 
| 10 | 3 | 0000-00-00 | 0000-00-00 | 200 | 
| 10 | 2 | 0000-00-00 | 0000-00-00 | 200 | 
| 20 | 1 | 0000-00-00 | 0000-00-00 | 200 | 
| 30 | 2 | 0000-00-00 | 0000-00-00 | 200 | 
| 40 | 4 | 0000-00-00 | 0000-00-00 | 200 | 
| 40 | 5 | 0000-00-00 | 0000-00-00 | 200 | 
| 70 | 5 | 0000-00-00 | 0000-00-00 | 200 | 
| 40 | 4 | 0000-00-00 | 0000-00-00 | 200 | 

回答

2
SELECT TOP 1 COUNT(*) as total FROM dbo.Table GROUP BY b_id ORDER BY total DESC 

編輯: 起坐,MySQL的當量:

SELECT COUNT(*) as total FROM dbo.Table GROUP BY b_id ORDER BY total DESC LIMIT 1 

EDIT2: 後評論:

SELECT b_id FROM dbo.Table GROUP BY b_id ORDER BY COUNT(b_id) DESC LIMIT 1 
+0

問題是我只想返回40 ...沒有別的......甚至沒有計數的VA lue ... – Birju

+0

好吧,對不起,我沒有正確理解這個問題。我更新了我的答案。 – Klark

+0

非常感謝... – Birju