【发布时间】:2022-01-07 07:30:44
【问题描述】:
我有一个工作的 PostgreSQL,它使用多个连接,一个列是计算的结果。从该查询的结果中,我需要提取一列最大的行,并且可能有很多。如果没有,我可以ORDER BY that_column DESC LIMIT 1;我发现如果我只需要在现有数据库表上这样做,我可以这样做:
SELECT columns FROM table_name
WHERE that_coulmn = (SELECT MAX(that_column) FROM table_name)
但是,情况也并非如此。我有一个这样的查询:
SELECT z.xyz, (x.aa- x.bb) * y.qq as that_column
FROM table_1 x
JOIN table_2 y ON x.foo = y.foo
JOIN table_3 z ON y.bar = z.bar
JOIN table_4 w ON w.baz = z.baz
where x.aa IS NOT NULL
现在,这行得通。现在我需要知道如何将其作为子查询并从中获取z.xyz 从that_column 最大的行。有什么帮助吗?
【问题讨论】:
-
我不明白。您查询中的所有内容都是正确的。你试过了吗?它是否应该与您已有的知识一起使用。
-
查看横向连接
标签: sql postgresql subquery aggregate aggregate-functions