假设我想从包含字段A,B,C,D,E的表ABC中进行选择,其中E是一个数字字段。GROUP BY返回字段的一个小子集
对于给定组合A
和B
我想返回包含最大值E
的行。我该怎么做呢?我该怎么做GROUP BY
?
如果我尝试按A,B组进行GROUP,而只在E附近放置最大值,则会出现“not a GROUP BY expression
”错误,但我确实只希望通过A,B进行GROUP。
我试图
select A,B,C,D,max(E)
from ABC
group by A,B
,这是行不通的。
这两个表现会更好吗?有没有办法摆脱包含row_number()列的中间表,而是在原始查询中仅使用ABC上的WHERE子句为每个A和B的组合提取所需的行?换句话说,我可以整合PARTITION和用WHERE子句提取所需的行吗? – user2371765
我最好是想要这样的东西。 (ABC.A ,ABC.B )order by ABC.E)= 1 为此,我得到错误“窗口函数在这里是不允许的”。 – user2371765