sql >> Databasteknik >  >> RDS >> Sqlserver

Hur får man max radnummer per grupp/partition i SQL Server?

Prova detta:

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. Vilolägesanteckningar - Skiftlägesokänslig UniqueConstraint

  2. Ansluter C# till Oracle

  3. Hitta rader med parameter i en av två kolumner?

  4. Laravel migration självrefererande främmande nyckelfråga