在Over()条款中使用别名
我可以通过 row_number() OVER()
按计数行对结果进行编号吗?
例如
SELECT *,
users::numeric/population::numeric*100 AS penetration,
row_number() OVER(ORDER BY penetration DESC)
FROM states ORDER BY penetration DESC
产生一个错误:
ERROR: column "penetration" does not exist
May i number results via row_number() OVER()
by counted rows?
e.g.
SELECT *,
users::numeric/population::numeric*100 AS penetration,
row_number() OVER(ORDER BY penetration DESC)
FROM states ORDER BY penetration DESC
generates an error:
ERROR: column "penetration" does not exist
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能在 postgresql 中这样做。在此处查找
表达式
:4.2.8。窗口函数调用,它说..它不能是输出列名称或数字..您可以使用子查询:
you can't do that in postgresql. Look for
expression
here:4.2.8. Window Function Calls, it says ..it cannot be output-column names or numbers..You can user subquery:
我不使用 postgre,但对于 t-sql 你必须这样做:
I don't use postgre but for t-sql you have to do something like this: