Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Pobieranie Top 10 wierszy i sumowanie wszystkich pozostałych w wierszu 11

Nie określiłeś, jak plasujesz się w pierwszej dziesiątce, więc zakładam, że najwyższe liczby są wyżej w rankingu?

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. Przestaw SQL Server a sprzężenie wielokrotne

  2. Pobierz schemat kolumn tabeli SQL z typem danych i maksymalną długością w wartości liczbowej

  3. Przekroczono limit czasu zapytania SQL Server

  4. Naśladuj group_concat() w połączeniu z GROUP BY

  5. Jak mogę zoptymalizować/refaktoryzować klauzulę TSQL LIKE?