gpt4 book ai didi

sql - 如何在子查询中使用别名?

转载 作者:行者123 更新时间:2023-12-01 10:13:11 25 4
gpt4 key购买 nike

我想要实现的是从以下形式的表中获取具有最大值的行:

A | B | Ratio 
0 | 1 | 1.0
1 | 2 | 1.0
2 | 3 | 1.0
3 | 4 | 0.33
4 | 5 | 0.25

我试图只显示包含最大值的行(在本例中为 1.0)。可能是我做的不对。我有一个表格查询:

SELECT A,B,C 
FROM (---Long Sub Query--- Aliased as Full_Table)
WHERE RATIO=(SELECT MAX(RATIO) FROM Full_Table);

但无法从第二个子查询中引用 Full_Table。有些行具有相同的最大值,这就是我使用此查询的原因。有没有更好的结构来实现这一目标?在最坏的情况下,我必须用整个长查询替换第二个 Full_Table,但我希望有更好的方法来做到这一点。

最佳答案

您可以使用公用表表达式:

WITH Full_Table AS (---Long Sub Query---)
SELECT A,B,C
FROM Full_Table
WHERE RATIO=(SELECT MAX(RATIO) FROM Full_Table);

关于sql - 如何在子查询中使用别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3646970/

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