Невозможно использовать Count (*) в Lag () - PullRequest
1 голос
/ 18 апреля 2020

У меня простой запрос, но он продолжает выдавать «Недопустимое использование групповой функции». Это прекрасно работает, когда я удаляю "count (*)". Как я могу получить счет, не используя его в лаге?

select CreateDate as date, count(*) as count,
       lag(count(*), 1) over(order by CreateDate) as previous 
from contacts
group by createdate

1 Ответ

2 голосов
/ 18 апреля 2020

Хммм. , , MySQL должно разрешать использование функций агрегирования с оконными функциями. Возможно, есть ошибка в парсере.

Я думаю, что это будет работать:

select d.*, lag(cnt) over (order by cnt) as previous 
from (select CreateDate as date, count(*) as cnt
      from contacts
      group by CreateDate
     ) d;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...