我花了很多时间来构建这个选择,但我无法解决它。我有两张桌子。第一个表称为汽车并具有PK(主键)id_car和另一列名称等。第二个表称为评级,并具有col_id_rating(PK),id_car(FK)和rating_value(整数)。正如你怀疑的那样,一辆车可以有一次以上的咆哮。我想选择所有的汽车,我想知道每辆车的平均评分。最后,我想通过这个平均desc来排序结果。我正在尝试这样的事情:SQL从其他表中选择平均值
SELECT id_car, name, average
FROM car C, rating R
WHERE C.id_car = R.id_car
ORDER BY (average) (
SELECT AVG(rating_value) AS average
FROM rating R
WHERE C.id_car = R.id_car)
但它不起作用。
只是添加更多信息:如果您想要包括尚未评级的汽车,请使用LEFT JOIN。 –
@ShantanuGupta +1表示:) – Kaf
谢谢先生!奇迹般有效 – matlos