Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изберете топ 10 записа за всяка категория

Ако използвате SQL 2005, можете да направите нещо подобно...

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

Ако вашият RankCriteria има връзки, тогава може да върнете повече от 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. Кой е най-добрият метод за предаване на параметри към SQLCommand?

  2. Какво е скаларен UDF в SQL Server?

  3. SQL Server:конвертирайте ((int)година,(int)месец,(int)ден) в дата и час

  4. Как да махна колона с ограничение?

  5. SQL Server рекурсивно самостоятелно присъединяване