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

SQL Server でグループ/パーティションごとの最大行数を取得する方法は?

    これを試してください:

    SELECT a.*, CASE WHEN totalPayments>1 THEN 'NO' ELSE 'YES' END IsFirstPayment
      FROM(
                    SELECT  p.payment_id,     
                                    p.user_id,     
                                    ROW_NUMBER() OVER (PARTITION BY p.user_id ORDER BY p.payment_date DESC) AS paymentNumber,
                                    SUM(1) OVER (PARTITION BY p.user_id) AS totalPayments
                        FROM payment p 
                ) a
    WHERE   paymentNumber = 1       
    


    1. SQLServerトリガー-実行順序

    2. 別のテーブルのフィールド値に基づいてフィールドを更新する

    3. SQLが機能しない理由がわかりません

    4. SQLステートメントのフィールドから先行ゼロを削除する