sql >> Database >  >> RDS >> Sqlserver

Selecteer top 10 records voor elke categorie

Als u SQL 2005 gebruikt, kunt u zoiets als dit doen...

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

Als uw RankCriteria gelijk is, kunt u meer dan 10 rijen retourneren en is de oplossing van Matt misschien beter voor u.



  1. Hoe maak je gematerialiseerde weergaven in SQL Server?

  2. Ontdek hoe kardinaliteit de prestaties beïnvloedt

  3. Hoe LN() werkt in MariaDB

  4. Hoe schrijf ik een Oracle Insert-script met één veld als CLOB?