Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để lấy số hàng tối đa cho mỗi nhóm / phân vùng trong SQL Server?

Hãy thử điều này:

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. Truy vấn để khớp địa chỉ IP trong SQL Server

  2. Chuyển một varchar chứa đầy các giá trị được phân tách bằng dấu phẩy vào hàm SQL Server IN

  3. Có thể đặt thời gian chờ cho truy vấn SQL trên Microsoft SQL Server không?

  4. Codeigniter:Cách thiết lập kết nối với máy chủ SQL (2008)

  5. Cách đặt lại giá trị cột nhận dạng trong bảng SQL Server - Hướng dẫn SQL Server / T-SQL Phần 43