[英]DB2 SQL MAX() SUBQUERY
DATA:
0407340207,0001,0001,0000000,0002
0407340207,0001,0001,0000000,0007
0407340207,0001,0001,0000000,0012
0407340207,0001,0001,0000000,0017
0407340207,0001,0001,0000000,0022
0407340207,0001,0001,0000000,0027
0407340207,0001,0001,0000000,0032
0407340207,0001,0001,0000000,0037
0407340207,0001,0001,0000000,0042
0407340207,0001,0001,0000000,0047
0407340207,0001,0001,0000000,0052
0407340207,0001,0001,0000000,0057
0407340207,0083,0001,0000000,0004
0407340207,0083,0001,0000000,0009
0407340207,0083,0001,0000000,0014
0407340207,0083,0001,0000000,0019
0407340207,0083,0001,0000000,0024
我得到了上面的数据,想用 max 做一个子查询,只得到两行,例如……
0407340207,0001,0001,0000000,0057
0407340207,0083,0001,0000000,0024
我在做什么不正确
SELECT
BEI.COLUMN1,
BEI.COLUMN2,
BEI.COLUMN3,
BEI.COLUMN4
AND BEI.COLUMN5 = (SELECT MAX(MAXBEI.COLUMN5)
FROM DWHRTB01.BEN_ELEM_INFO BEI
WHERE BEI.FK_CHNG_DT <= '2014-03-31'
AND BEI.COLUMN2 IN (01, 80, 81, 83, 84, 105, 106, 107, 108, 137, 138)
AND BEI.COLUMN5 = (SELECT MAX(MAXBEI.COLUMN5)
FROM DWHRTB01.BEN_ELEM_INFO MAXBEI
WHERE (BEI.COLUMN1 = MAXBEI.COLUMN1)
AND (BEI.COLUMN2 = MAXBEI.COLUMN2)
AND (BEI.COLUMN3 = MAXBEI.COLUMN3)
AND BEI.FK_CHNG_DT <= '2014-03-31'
AND BEI.COLUMN2 IN (01, 80, 81, 83, 84, 105, 106, 107, 108, 137, 138))
简单查询之一:
SELECT
BEI.COLUMN1,
BEI.COLUMN2,
BEI.COLUMN3,
BEI.COLUMN4,
MAX( BEI.COLUMN5 )
FROM DWHRTB01.BEN_ELEM_INFO BEI
GROUP BY
BEI.COLUMN1,
BEI.COLUMN2,
BEI.COLUMN3,
BEI.COLUMN4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.