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

Wybierz 10 najlepszych rekordów dla każdej kategorii

Jeśli używasz SQL 2005, możesz zrobić coś takiego...

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

Jeśli Twoje kryteria rankingowe mają remisy, możesz zwrócić więcej niż 10 wierszy, a rozwiązanie Matta może być dla Ciebie lepsze.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie się z SQL Server 2012 przy użyciu sqlalchemy i pyodbc

  2. Na liście wyboru można podać tylko jedno wyrażenie, gdy podzapytanie nie jest wprowadzone z opcją EXISTS

  3. Używanie SQL Server Integration Services (SSIS) do wypełniania rekordów QuickBooks

  4. Znajdź ostatni wiersz w grupie według zapytania-SQL Server

  5. Korzystanie z GO w ramach transakcji