好吧,我知道我们可以通过使用临时表从 select 语句中隐藏按列排序。只是想知道如何在不使用临时表的情况下做同样的事情?
由于我正在使用的数据库非常庞大,因此添加临时表会极大地影响查询性能。
我的查询如下:
SELECT DISTINCT
Col1,
MAX(Col2),
MAX(Col3),
Col4
FROM
Table1
Group By
Col4,
Col1
Order By
Col4
现在我只想在不使用临时表的情况下从输出中删除 Col4。甚至不能使用内部查询来做到这一点。谢谢。
最佳答案
如果您的 Col4 是计算/派生的并且它必须在原始选择中,您可以简单地进行一个外部
查询:
SELECT G.Col1, G.C2, G.C3 from
(SELECT DISTINCT
Col1,
MAX(Col2) AS C2,
MAX(Col3) AS C3,
Col4
FROM
Table1
Group By
Col4,
Col1
Order By
Col4) AS G
关于sql - 在不使用临时表的情况下从 SELECT 中隐藏按列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284803/