有 With Sub 查询 MySql

Having With Sub query MySql

我想select哪个型号的车出事故最多。 我正在使用以下查询,但出现语法错误。 请有人告诉我怎么了..

    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
    );

您可以在这里使用简单的子查询,例如:

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);

HAVING 是 GROUP BY 的条件语句。您的查询在
中没有任何条件 HAVING语句,所以出现错误。 A 对我来说,没有必要在子查询中。尝试更简单的查询,例如:

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;