Sqlserver
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как можем да направим страниране при извличане на стойността със 100 записа всеки в sql

  2. Нива на изолация на SQL сървър:серия A

  3. Как да добавите файл с данни към база данни на SQL Server (T-SQL)

  4. Правилно сортиране на числа с точки, съхранени като знак в SQL Server

  5. Ред, разделен със запетая, с клауза Group By