Oracle SQL獲取每個分組中日期最大的一條數據


在報表開發中,經常遇到這樣的問題:分組后,只需要每個分組最新的一條數據,其他的就不要了

  此時的思路應該是:對分組進行排序,並編號,然后select編號為1的記錄即可。

  代碼如下:

select rn,a,b,c
  from (select ROW_NUMBER() OVER(PARTITION BY a ORDER BY b DESC) rn,a,b,c
              from table)
 where rn = 1

 原表:

     

  執行代碼后:

      

  此思路可以運用到各種分組並按分組排序后獲取第一條數據,即取分組最小記錄或最大記錄的情況..

 


免責聲明!

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



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