SQL-запрос для усреднения и округления - PullRequest
1 голос
/ 14 ноября 2011

Мне нужен запрос, который обновит строку в Games, чтобы иметь значение среднего его записанного Ratings, умноженное на число Plays, которое он имел.Это то, что у меня есть, но оно не работает:

UPDATE Games
SET PlaysRating = ROUND(AVG
                       (SELECT `Rating` FROM GameRatings WHERE GameID = '37') 
                     * (SELECT COUNT(*) FROM Plays WHERE GameID = '37')) 
WHERE ID = 37

1 Ответ

3 голосов
/ 14 ноября 2011

Может выглядеть так:

UPDATE Games
SET    PlaysRating = round(
       (SELECT count(*)    FROM Plays       WHERE GameID = 37)
     * (SELECT avg(Rating) FROM GameRatings WHERE GameID = 37))
WHERE  ID = 37

Кстати, предполагая, что ID является числовым типом, я удалил кавычки ''.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...