2012-05-03 46 views
3

我有一個使用MySQL後端的小型賽車項目。我試圖找到一個很好的查詢,以獲取在兩場比賽中排名前三的所有車手的詳細信息。這裏有一個小桌子故障:用於查找出現多次值的SQL查詢

Drivers table: 
driver_id, driver_name, driver_age, etc misc details 

Entry table: 
entry_id, driver_id, placed 

所以,通常這不會是一個巨大的問題,因爲我可以做一個JOIN on driver_id然後用WHERE on my 'placed'列瘦下去的結果;然而,客戶絕對必須有不止一次進入前三的球員。我只是在事情的腳本方面處理它,但他們用來提取數據的應用程序非常奇怪。

謝謝!

回答

3
select * 
from `Entry table` 
where placed <= 3 
group by driver_id 
having count(*) > 1 

或這樣的事情...我知道你正在尋找一個計數聲明

+1

having子句這個工作完美,與加入它正是我需要的結合。我試過數(*),但我不知道我必須組隊。謝謝! –