Oracle獲取最后一條,第一條數據(按時間獲取第一條和最后一條數據)


假設有如下場景:

電表,大家都知道電表讀數並不是真正的耗電量,真正耗電量=此次讀數-上一次讀數

電表設計如下:

 

SQL語句如下,使用Oracle的FIRST_VALUE()和LAST_VALUE()函數實現:

SELECT 
DISTINCT
LAST_VALUE (E_VALUE) OVER (PARTITION BY E_CODE ORDER BY E_DATE ROWS BETWEEN unbounded preceding AND unbounded following) AS LAST_TIME_VALUE,
FIRST_VALUE (E_VALUE) OVER (PARTITION BY E_CODE ORDER BY E_DATE ROWS BETWEEN unbounded preceding AND unbounded following) AS FIRST_TIME_VALUE
FROM 
TABLE_TEST

 


結果:


————————————————
版權聲明:本文為CSDN博主「V碼農小濤」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/rongtaoup/article/details/82253615


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM