說我有以下幾點:選擇複合鍵,其中,max(COLUMN_VALUE)
PART SUBPART QUANTITY
-------- -------- -----------
01 02 2
01 03 3
01 04 4
01 06 3
02 05 7
02 06 6
03 07 6
04 08 10
04 09 11
...
對於每個part
我需要的最大數量來識別subpart
。
我真正的例子是有點複雜,我的意思是沒有一個,但3個子部分列(如複合鍵)。所以,我需要找出part
各部分的情侶subpart1
,subpart2
和subpart3
...
由於數據庫中,我使用DB2 AS400,但任何例子是值得歡迎的。
我試着做以下,但是這並不工作:
with T (PART, SUBPART1, SUBPART2, SUBPART3, SQ) AS
(SELECT PART, SUBPART1, SUBPART2, SUBPART3, SUM(QUANTITY)
FROM MYTABLE
GROUP BY PART, SUBPART1, SUBPART2, SUBPART3)
select PART, SUBPART1, SUBPART2, SUBPART3
WHERE SQ = max(SQ)
from T
group by PART
db2是否允許'ROW_NUMBER()OVER(PARTITION BY part,subpart1,subpart2,subpart3 ORDER BY quantity DESC)AS part_quantity_rank'? – MatBailie
根據http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=%2Fsqlp%2Frbafyolap.htm – serhio
,我可以假設是肯定的,是的,它支持ROW_NUMBER(),它是如果你不想在平局的情況下報告多條記錄,這通常是一個不錯的選擇。 – WarrenT