sql >> Databáze >  >> RDS >> Sqlserver

Vyberte 10 nejlepších záznamů pro každou kategorii

Pokud používáte SQL 2005, můžete udělat něco takového...

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

Pokud jsou vaše kritéria hodnocení nerozhodná, můžete vrátit více než 10 řádků a Mattovo řešení pro vás může být lepší.



  1. Jak definovat primární klíč automatického zvýšení na serveru SQL Server

  2. Jak mohu vynutit jedinečnost množiny mezi více sloupci?

  3. Funkce data a času SQLite

  4. Seznam území podporovaných databází Oracle