sql >> Database >  >> RDS >> Sqlserver

Top 10 rijen ophalen en alle andere optellen in rij 11

Je hebt niet aangegeven hoe je de top 10 rangschikt, dus ik neem aan dat de hoogste aantallen hoger gerangschikt zijn?

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. Base64-gecodeerde gegevens opslaan als BLOB- of TEXT-gegevenstype

  2. java.lang.NoSuchFieldError:GEEN in winterslaap met Spring 3, maven, JPA, c3p0

  3. gedrag van inner join inside bestaat sql

  4. PHP &mySQL:wanneer precies htmlentities gebruiken?