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行以上を返す可能性があり、Mattのソリューションの方が適している可能性があります。



    1. オペランドには1つの列が含まれている必要があります-MySQLはありません

    2. Oracle-使用しているTNSNamesファイルは何ですか?

    3. ハイブリッドSQLServer環境に詳細な診断を提供する世界初のSaaSプラットフォームの紹介

    4. Oracleのto_charでフォーマットされていない文字をエスケープする最良の方法は何ですか?