MyQL Workbench: ROUND () выделен серым цветом в оконной функции - PullRequest
0 голосов
/ 18 марта 2020

Я пишу оконную функцию для просмотра усреднения определенного titleType вместе с оценкой каждого mov ie. Запрос работал без каких-либо функций округления, но для улучшения читабельности я хотел округлить 2 средних. Я обернул функцию AVG () функцией ROUND (), но ROUND выделен серым цветом, а сопровождающий OVER подчеркнут красным, потому что это не должно происходить в этой позиции.

SELECT 
ratings.tconst, titles.titleType, 
titles.primaryTitle, 
ratings.averageRating AS rating,
ratings.numVotes,
ROUND(AVG(ratings.averageRating)) OVER (PARTITION BY titleType) averageRating, 
CAST(AVG(ratings.numVotes) AS DECIMAL(10,2)) OVER (PARTITION BY titleType) averageNumberOfVotes 
FROM titleRatings ratings
INNER JOIN titleBasics titles
ON ratings.tconst = titles.tconst;

Я также попытался округлить среднее значение путем приведения его к десятичному числу, но оно выдает ту же ошибку (но не затенено). Красное подчеркивание появляется только в первом случае OVER в обоих случаях.

Заранее спасибо, Michiel

1 Ответ

1 голос
/ 18 марта 2020

Передайте полное выражение в round(), включая предложение OVER. Предложение OVER и оконная функция все вместе.

...
round(avg(ratings.averagerating) OVER (PARTITION BY titletype))
...

И аналог для cast().

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