3

MySQLバックエンドを使用する小さなレーシングプロジェクトがあります。2つ以上のレースで上位3位にランクインしたすべてのドライバーの詳細を把握するための適切なクエリを見つけようとしています。これが小さなテーブルの内訳です:

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

Entry table:
entry_id, driver_id, placed

したがって、通常、これは大きな問題にはなりません。これは、aを実行してから、列をJOIN on driver_id使用WHERE on my 'placed'して結果を間引くことができるためです。ただし、クライアントには絶対にトップ3に2回以上入った人がいる必要があります。スクリプト側で処理するだけですが、データを取得するために使用しているアプリは非常に奇妙です。

ありがとう!

4

1 に答える 1

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

またはこのようなもの...私はあなたがカウントステートメントのhaving句を探していることを知っています

于 2012-05-03T04:04:36.020 に答える