Таинственная ошибка при совмещении функции опережения, функции второго окна и псевдонима столбца

Рассмотрим следующий запрос:

select
   corpus_date as alias
   ,lead(word, 1) over (partition by corpus order by word_count desc) lead
   ,max(word_count) over (partition by corpus) max_word_count

from
   [publicdata:samples.shakespeare]

where corpus='othello' and length(word) > 10

limit 5

Это дает мне сообщение об ошибке Field 'alias' not found. Но alias используется только в качестве псевдонима в этом запросе. Обратите внимание, что ошибка исчезает, если я закомментирую псевдоним или lead функция или min функция. Ошибка также исчезает, если я заменяю lead с другой оконной функцией, такой как min или же sumпока ошибка остается, если я тоже заменю maxпоэтому необходимые ингредиенты

  • lead функция
  • другая оконная функция
  • псевдоним поля

Я хотел бы знать, что именно из-за того, как эти функции работают внутри, вызывает эту загадочную ошибку.

0 ответов

Другие вопросы по тегам