sql >> Database teknologi >  >> RDS >> Sqlserver

Vælg top 10 poster for hver kategori

Hvis du bruger SQL 2005, kan du gøre noget som dette...

SELECT rs.Field1,rs.Field2 
    FROM (
        SELECT Field1,Field2, Rank() 
          over (Partition BY Section
                ORDER BY RankCriteria DESC ) AS Rank
        FROM table
        ) rs WHERE Rank <= 10

Hvis dine RankCriteria har bindinger, kan du returnere mere end 10 rækker, og Matts løsning kan være bedre for dig.



  1. Kom godt i gang med Oracle Application Express-APEX

  2. Sådan får du adgang til PhpMyAdmin uden cPanel-login

  3. Top 50 MySQL-interviewspørgsmål, du skal forberede i 2022

  4. datetime2 vs datetimeoffset i SQL Server:Hvad er forskellen?