2016-03-26 11 views
0

ほとんどの事故にどのモデルカーが関与しているかを選択したい。 次のクエリを使用していますが、構文エラーが発生します。 いただきました!間違って誰かが..SubクエリMySqlを持つ

select car.Model 
    from car 
    join car_accident_involved 
     on car.Car_Registration_ID = car_accident_involved.Car_Registration_ID 
    group by car.Model 
    having MAX(
     select COUNT(Car_Registration_ID) 
     from car_accident_involved 
    ); 
+0

構文エラーの原因、またはクエリの問題を知りたいですか? – Strawberry

+0

好きな場合は、以下の簡単な2ステップのアクションを実行してください。1.問題をより簡単に複製できるように、適切なCREATE文とINSERT文(および/またはsqlfiddle)を指定します。 2.まだ実行していない場合は、手順1で提供された情報に対応する望ましい結果セットを提供します。 – Strawberry

答えて

1

を教えてくださいあなたは、ここでは例えば単純なサブクエリを使用することができます。

select model from car 
where car_registration_id = 
(select car_registration_id 
    from car_accident_involved 
    group by model 
    order by count(car_registration_id) desc 
    limit 1); 
1

HAVINGは、GROUP BYのための条件文です。あなたのクエリは
HAVINGステートメントでは何も条件がないので、エラーが発生します。 私のために、サブクエリーの必要はありません。

SELECT c.model,COUNT(a.car_registration_id) AS Num_of_accidents FROM car c 
INNER JOIN car_accident_involved a ON c.car_registration_id=a.car_registration_id 
GROUP BY c.model ORDER BY Num_of_accidents DESC LIMIT 1; 
関連する問題