iT邦幫忙

0

[MSSQL] 如何將今日最後一筆數值扣掉昨日最後一筆數值?

https://ithelp.ithome.com.tw/upload/images/20210513/20128167dQsjLBuSkU.jpg

各位先進好
小弟目前有一個新表,希望新增一個欄位’當日發電時數’,定義為"今日總發電時數-昨日總發電時數"

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
rogeryao
iT邦超人 8 級 ‧ 2021-05-13 11:24:47
最佳解答
SELECT a1 AS 'Date',a2 AS 'Time',a3 AS '總發電量kWh',a4 AS '總發電時數',
a5 as '當日發電量',ROUND(a4-lag(a4, 1, a4) OVER (ORDER BY a1),2) AS '當日發電時數'
FROM aa
ORDER BY a1, a2

Demo

HoyaT iT邦新手 5 級 ‧ 2021-05-13 13:54:24 檢舉

太強大了,馬上解決我的問題了  感恩

Select *,ROUND(TolGeneratedTime-lag(TolGeneratedTime,1,TolGeneratedTime) OVER (ORDER BY [Date]),2) AS '當日發電時數'
FROM tb_SolarStation_Daily

https://ithelp.ithome.com.tw/upload/images/20210513/20128167mPr5U9zosO.jpg

我要發表回答

立即登入回答