假設我想從包含字段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