Sql 在窗口函数中为表添加别名?
我试图在一个窗口函数中对一个表进行别名,但不确定我做错了什么,因为当我对它进行别名时,会出现无法解析列的错误Sql 在窗口函数中为表添加别名?,sql,data-science,data-analysis,presto,Sql,Data Science,Data Analysis,Presto,我试图在一个窗口函数中对一个表进行别名,但不确定我做错了什么,因为当我对它进行别名时,会出现无法解析列的错误 SELECT e.city, e.time, e.day, e.id, m.id FROM (SELECT *, rank() OVER (PARTITION BY e.id, e.bin
SELECT e.city,
e.time,
e.day,
e.id,
m.id
FROM
(SELECT *,
rank() OVER (PARTITION BY e.id,
e.bin
ORDER BY e.time ASC) rnk
FROM table e
JOIN table2 m
on m.id = e.id
WHERE e.status = 'YES'
AND e.day BETWEEN date '2019-05-06' and date '2019-05-08')
WHERE rnk = 1
您已经在最外层的
选择中使用了e
别名。但是,该别名的作用域中没有任何内容。来自
的内部不是那样“伸出”的(不过作用域是以另一种方式“伸出”)
因此:
您已经在最外层的选择中使用了e
别名。但是,该别名的作用域中没有任何内容。来自
的内部不是那样“伸出”的(不过作用域是以另一种方式“伸出”)
因此:
您也必须将子查询别名为e
此处。但是子查询中的所有列名不是都用e别名吗?您也必须将子查询别名为e
此处。但是子查询中的所有列名不是都用e别名吗?谢谢!快速问题:如果我有一个表想要加入,并且有别名,我是否只需要在子查询末尾显示的e旁边添加别名@戈登Linoff@chris90 . . . 你可以在……上加入ot代码>。谢谢!快速问题:如果我有一个表想要加入,并且有别名,我是否只需要在子查询末尾显示的e旁边添加别名@戈登Linoff@chris90 . . . 你可以在……上加入ot代码>。
SELECT e.city, e.time, e.day, e.id
FROM (SELECT e.*,
rank() OVER (PARTITION BY e.id, e.bin ORDER BY e.time ASC) as rnk
FROM table e
WHERE e.status = 'YES' AND
e.day BETWEEN date '2019-05-06' and date '2019-05-08'
) e
-------^ here
WHERE rnk = 1