0
我想使之和的后每个periodeSQL甲骨文ROLLUP不会总结正确
我有以下SQL(我想总结一下“总DKK”,“标准箱”和“公关TEU。”):
SELECT "STAT$DAN_2013".PERIOD, "STAT$DAN_2013".VESSEL_NAME AS "Skibsnavn", "STAT$DAN_2013".VOYAGE_NO AS "Voyage", SUM("STAT$DAN_2013".CREDIT_AMOUNT) - SUM("STAT$DAN_2013".DEBET_AMOUNT) AS "Total DKK", SUM("STAT$DAN_2013".TEUS) AS "Teus", (SUM("STAT$DAN_2013".CREDIT_AMOUNT) - SUM("STAT$DAN_2013".DEBET_AMOUNT))/SUM("STAT$DAN_2013".TEUS) AS "Pr. teu"
FROM SCAN."STAT$DAN_2013" "STAT$DAN_2013"
WHERE "STAT$DAN_2013".DEPARTMENT=107 AND "STAT$DAN_2013".PERIOD<1307
GROUP BY rollup("STAT$DAN_2013".PERIOD, "STAT$DAN_2013".VESSEL_NAME, "STAT$DAN_2013".VOYAGE_NO)
ORDER BY "STAT$DAN_2013".PERIOD, "STAT$DAN_2013".VESSEL_NAME, "STAT$DAN_2013".VOYAGE_NO;
,但我得到的输出是这样的:
PERIOD Skibsnavn Voyage Total DKK Teus Pr. teu 1301 HANJIN ASIA 0004W 10.00 61 493.29 1301 HANJIN ASIA 10.00 61 493.29 1301 HANJIN ITALY 0010W 60.00 53 510.49 1301 HANJIN ITALY 60.00 53 510.49 1301 HANJIN SPAIN 0009W 100.00 74 526.11 1301 HANJIN SPAIN 100.00 74 526.11 1301 170.00 188 511.06 1302 HANJIN AFRICA 0003W 5.00 87 642.62 1302 HANJIN AFRICA 5.00 87 642.62 1302 HANJIN EUROPE 0004W 40.00 131 473.40 1302 HANJIN EUROPE 40.00 131 473.40 1302 HANJIN KOREA 0014W 70.00 80 617.18 1302 HANJIN KOREA 70.00 80 617.18 1302 HANJIN NETHERLANDS 0010W 60.00 57 778.15 1302 HANJIN NETHERLANDS 60.00 57 778.15 1302 HANJIN UNITED KINGDOM 0008W 80.00 83 520.64 1302 HANJIN UNITED KINGDOM 80.00 83 520.64 1302 255.00 438 581.88
我想这样的输出:
PERIOD Skibsnavn Voyage Total DKK Teus Pr. teu 1301 HANJIN ASIA 0004W 10.00 61 493.29 1301 HANJIN ITALY 0010W 60.00 53 510.49 1301 HANJIN SPAIN 0009W 100.00 74 526.11 1301 170.00 188 511.06 1302 HANJIN AFRICA 0003W 5.00 87 642.62 1302 HANJIN EUROPE 0004W 40.00 131 473.40 1302 HANJIN KOREA 0014W 70.00 80 617.18 1302 HANJIN NETHERLANDS 0010W 60.00 57 778.15 1302 HANJIN UNITED KINGDOM 0008W 80.00 83 520.64 1302 255.00 438 581.88
这可能吗?
很难说没有输入数据(并考虑到如此严重的格式化你的输出),但不会环绕你的语句中一个SELECT * FROM(<你这里查询>)航行不是NULL? –
如果您使用GROUP BY汇总(“STAT $ DAN_2013”.PERIOD),“STAT $ DAN_2013”.VESSEL_NAME,“STAT $ DAN_2013”.VOYAGE_NO',会发生什么情况? –
它总结了表格底部的每一行 - 它不会为每个周期进行总计 - 就像第一个输出一样,只是它已经将它拖到了最后,并且没有每个周期的总和 – user2935782