mat*_*los 4 sql select average
我花了很多时间来构建这个选择,但我无法解决它。我有2张桌子。第一个表称为 car 并具有 PK(主键)id_car 和另一个列名称等。第二个表称为 rating 并具有列 id_rating (PK)、id_car (FK) 和 rating_value(整数)。正如您所怀疑的那样,一辆车可以有不止一个咆哮。我想选择所有汽车,我想知道每辆车的平均评分。最后,我想按这个平均降序对结果进行排序。我正在尝试这样的事情:
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)
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
对于SQL Server; 另外我建议你使用JOIN而不是WHERE table1, table2..
SELECT C.id_car, name, AVG(rating_value) AS average
FROM car C JOIN rating R
ON C.id_car = R.id_car
GROUP By C.id_car, name
ORDER BY average DESC
Run Code Online (Sandbox Code Playgroud)