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

Truy xuất 10 hàng trên cùng và tổng hợp tất cả các hàng khác trong hàng 11

Bạn không nói rõ bạn đang xếp hạng top 10 như thế nào vì vậy tôi giả định rằng số lượng cao nhất được xếp hạng cao hơn?

With TopItems As
    (
    SELECT C.CountryID AS CountryID
            , C.CountryName AS Country
            , Count(FirstName) AS Origin
            , ROW_NUMBER() OVER( ORDER BY Count(FirstName) DESC ) As Num
    FROM Users AS U
        JOIN Country AS C 
            ON C.CountryID = U.CountryOfOrgin
    GROUP BY C.CountryName, C.CountryID
    )
Select CountryId, Country, Origin
From TopItems
Where Num <= 10
Union ALL
Select 0, 'Others', Sum(Origin)
From TopItems
Where Num > 10


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tương đương của LIMIT và OFFSET cho SQL Server?

  2. Xác định mối quan hệ một-một trong SQL Server

  3. chèn vào các giá trị với mệnh đề where

  4. Ba điều kiện trên một cột của bảng

  5. 2 cách tạo bảng trên máy chủ được liên kết bằng T-SQL