sql >> Databasteknik >  >> RDS >> Sqlserver

Välj topp 10 poster för varje kategori

Om du använder SQL 2005 kan du göra något sånt här...

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

Om dina RankCriteria har kopplingar kan du returnera fler än 10 rader och Matts lösning kan vara bättre för dig.



  1. Använder Oracle XMLType-kolumnen i viloläge

  2. XMLAGG med RTRIM-problem

  3. Hur man använder KNN Machine Learning Model med 2UDA – PostgreSQL och Orange (Del 1)

  4. Hur upprepar jag ett resurs-id #6 från ett MySql-svar i PHP?