我有一個表中的下列信息稱爲TankInfo:SQL條件求和和最大時間
Tank Compartment Product _Date _Time Volume x x1 GAS 2017-08-02 10:42 10000 x x2 GAS 2017-08-02 10:44 20000 x x1 GAS 2017-08-02 13:42 9000 x x2 GAS 2017-08-02 13:39 20000 x x1 GAS 2017-08-02 23:42 9000 x x2 GAS 2017-08-02 23:54 21000 y y1 GAS 2017-08-02 10:42 10000 y y2 DIESEL 2017-08-02 10:43 5000 y y1 GAS 2017-08-02 14:42 10000 y y2 DIESEL 2017-08-02 14:52 5000 y y1 GAS 2017-08-02 23:12 10000 y y2 DIESEL 2017-08-02 23:51 5000
我需要能夠添加廂容積在一起,如果他們是相同的坦克和攜帶相同產品,只彙總最大時間記錄。所以上表將被歸結爲如下所示:
Tank Product _Date _Time Volume x GAS 2017-08-02 23:54 30000 y GAS 2017-08-02 23:12 10000 y DIESEL 2017-08-02 23:51 5000
我想我可以做到以下幾點:
Select
z.Tank
,z.Product
,z._Date
--,z._Time
,sum(Volume) Volume
from (
Select
ti.Tank
,ti.Compartment
,ti.Product
,ti._Date
,max(ti._Time) _Time
from TankInfo ti
Group by
ti.Tank
,ti.Compartment
,ti.Product
,ti._Date
) z
left join(
Select
Tank
,Compartment
,Product
,_Date
,_Time
,Volume
from TankInfo
) x
on x.Tank = z.Tank
and x.Compartment = z.Compartment
and x.Product = z.Product
and x._Time = z._Time
Group by
z.Tank
,z.Product
,z._Date
運行此,我得到了下面的表格,和我我堅持如何能夠獲得最大時間。有任何想法嗎?
Tank Product _Date _Time Volume
x GAS 2017-08-02 23:42 9000
x GAS 2017-08-02 13:39 21000
y GAS 2017-08-02 23:12 10000
y DIESEL 2017-08-02 23:51 5000
第一排體積30000? –
第一行爲30,000,因爲它查看x1和x2的最大時間,並將兩個卷相加。 21000 + 9000並且將這個容器的總結x設爲30000 – ghawes