gpt4 book ai didi

sql - 为什么分区需要嵌套选择?

转载 作者:行者123 更新时间:2023-11-29 14:03:29 24 4
gpt4 key购买 nike

我有一个页面显示每个用户的 10 条消息(不要问我为什么)
我有以下代码:


SELECT *, row_number() over(partition by user_id) as row_num<br/>
FROM "posts"<br/>
WHERE row_num <= 10<br/>

它不起作用。

当我这样做时:

SELECT *<br/>
FROM (<br/>
SELECT *, row_number() over(partition by user_id) as row_num FROM "posts") as T<br/>
WHERE row_num <= 10<br/>

它确实有效。
为什么我需要嵌套查询才能看到 row_num柱子?顺便说一句,在第一个请求中,我实际上在结果中看到了它,但不能使用 where此列的关键字。

最佳答案

这似乎与任何查询的“规则”相同,列别名对 WHERE 子句不可见;

这也会失败;

SELECT id AS newid
FROM test
WHERE newid=1; -- must use "id" in WHERE clause

关于sql - 为什么分区需要嵌套选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18249126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com