sql >> データベース >  >> RDS >> Sqlserver

SQL Server:PARTITIONBYとGROUPBYの違い

    それらはさまざまな場所で使用されています。 group by 次のようにクエリ全体を変更します:

    select customerId, count(*) as orderCount
    from Orders
    group by customerId
    

    ただし、partition by row_numberのようなウィンドウ関数で動作するだけです :

    select row_number() over (partition by customerId order by orderId)
        as OrderNumberForThisCustomer
    from Orders
    

    group by 通常、返される行の数は、それらをロールアップし、各行の平均または合計を計算することによって削減されます。 partition by 返される行数には影響しませんが、ウィンドウ関数の結果の計算方法が変わります。



    1. MySQLでコメント機能を最大限に活用する方法

    2. 更新/削除を無効にし、トリガーがそれらを実行できるようにする方法はありますか?

    3. MySQLを学ぶための5つの最高のオンラインコース

    4. SQLServerシステムデータベースのメンテナンス