Таинственная ошибка при совмещении функции опережения, функции второго окна и псевдонима столбца
Рассмотрим следующий запрос:
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
функция- другая оконная функция
- псевдоним поля
Я хотел бы знать, что именно из-за того, как эти функции работают внутри, вызывает эту загадочную ошибку.