0
我有一个db2查询,它必须获取列(Col6)的第一个值。我曾尝试使用列的最小值,但它以升序获取第一个值。DB2查询以获取组中的第一个值
表如下:
Col1 Col2 Col3 Col4 Col5 Col6
10 -1 N/A 1 41 Pack Inv
10 -1 N/A 1 10 Fl Sales
10 -1 N/A 1 10 St Ss Bu
10 -1 N/A 1 41 Pack Inv
为COL7预期的输出如下所示:
Col1 Col2 Col3 Col4 Col5 Col6 Col7
10 -1 N/A 1 41 Pack Inv Pack Inv
10 -1 N/A 1 10 Fl Sales Pack Inv
10 -1 N/A 1 10 St Ss Bu Pack Inv
10 -1 N/A 1 41 Pack Inv Pack Inv
通过使用MIN(COL6)OVER(PARTITION BY Col1中)AS “COL7”,生成的输出是:
Col1 Col2 Col3 Col4 Col5 Col6 Col7
10 -1 N/A 1 41 Pack Inv Fl Sales
10 -1 N/A 1 10 Fl Sales Fl Sales
10 -1 N/A 1 10 St Ss Bu Fl Sales
10 -1 N/A 1 41 Pack Inv Fl Sales
我可以知道如何在db2中实现预期输出。
谢谢
“First”根据什么顺序?哪一列确定特定Col1值在一组行中的所需顺序?如果您没有指定顺序,那么DB2将不保证返回的行的顺序。 – WarrenT