sql >> データベース >  >> RDS >> Sqlserver

各月から最後のレコードを取得

    ここで ROW_NUMBER() 関数を使用できます:

    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 )subWHERE RowRank =1  

    これは各月の最新の PaymentDate です。LoanID で取得したい場合は、PARTITION BY に LoanID を追加します。 リスト。同順位を維持したい場合は、RANK() を使用できます ROW_NUMBER() の代わりに



    1. ORA-22054アンダーフローエラー

    2. mysql_real_escape_stringを呼び出すたびに、データベースにもう一度アクセスする必要がありますか?

    3. OracleSQLDeveloperのスプールを使用してselectステートメントの結果をCsvファイルに適切にエクスポートする方法

    4. pythonmodels.pysyncdbが機能しない