gpt4 book ai didi

SQL:在 WHERE 子句中使用来自 SELECT 的计算字段

转载 作者:行者123 更新时间:2023-12-04 23:44:59 25 4
gpt4 key购买 nike

我有一个执行一些排名的 SQL 查询,如下所示:

SELECT RANK() OVER(PARTITION BY XXX ORDER BY yyy,zzz,oooo) as ranking, * 
FROM SomeTable
WHERE ranking = 1 --> this is not possible

我想在最后的 WHERE 条件中使用该排名。

现在我将这个查询嵌套在另一个查询中并对那里的排名进行过滤,但是有没有更简单或更快的方法来过滤来自 SELECT 语句的这些值?

最佳答案

使用 CTE(公用表表达式) - 一种仅用于下一条语句的“内联” View :

;WITH MyCTE AS
(
SELECT
RANK() OVER(PARTITION BY XXX ORDER BY yyy,zzz,oooo) as ranking,
*
FROM SomeTable
)
SELECT *
FROM MyCTE
WHERE ranking = 1 --> this is now possible!

关于SQL:在 WHERE 子句中使用来自 SELECT 的计算字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896829/

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