#php #mysql #sql #math
#php #mysql #sql #математика
Вопрос:
Мне нужен запрос, который обновит строку в 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. Примечание ’37’ — это просто пример идентификатора игры, а не часть запроса
Ответ №1:
Может выглядеть следующим образом:
UPDATE Games
SET PlaysRating = round(
(SELECT count(*) FROM Plays WHERE GameID = 37)
* (SELECT avg(Rating) FROM GameRatings WHERE GameID = 37))
WHERE ID = 37
Кстати, предполагая, что ID является числовым типом, я удалил кавычки ''
.