2012-05-03 15 views
3

私は、MySQLバックエンドを使用する小さなレーシングプロジェクトを持っています。私は2つ以上のレースで上位3位に入ったすべてのドライバーの詳細を取得するための良いクエリを見つけることを試みています。ここでは小さなテーブルの内訳は次のとおりです。2回以上表示される値を検索するための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に2回以上出場した人が絶対必要です。私は物事のスクリプト側でそれを世話するだけですが、彼らがデータを引き出すために使用しているアプリは非常に奇妙です。

ありがとうございます!このような

答えて

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

か何か...私はあなたがカウント文のhaving句

+1

これを探している知っている、それは私が必要な正確に何だったの参加と組み合わせて、完璧に働きました。私は数を試してみた(*)が、私はグループ化しなければならないか分からなかった。ありがとう! –