Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Dapatkan Rekor Terakhir Dari Setiap Bulan

Anda dapat menggunakan fungsi ROW_NUMBER() di sini:

SELECT *
FROM (SELECT lp.ID, lp.LoanID, lp.PaymentDate
          , ROW_NUMBER() OVER (PARTITION BY YEAR(PaymentDate), Month(PaymentDate) ORDER BY PaymentDate DESC) 'RowRank'
      FROM LoanPayments lp 
     )sub
WHERE RowRank = 1

Itu hanya Tanggal Pembayaran terbaru untuk setiap bulan, jika Anda menginginkannya dengan LoanID, Anda dapat menambahkan LoanID ke PARTITION BY daftar. Jika Anda tertarik untuk mempertahankan ikatan, Anda dapat menggunakan RANK() bukannya ROW_NUMBER()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan DateTime dalam SqlParameter untuk Prosedur Tersimpan, kesalahan format

  2. Bagaimana cara meneruskan XML dari C # ke prosedur tersimpan di SQL Server 2008?

  3. Berurusan dengan NULL di SQL Server

  4. Bagaimana cara menambahkan xml encoding <?xml version=1.0 encoding=UTF-8?> ke xml Output di SQL Server

  5. Tidak dapat membuka perangkat cadangan. Kesalahan Sistem Operasi 5