SQLでの`PARTITION BY`の使い方は何ですか。

SQL中のPARTITION BYは、データをグループ化するための句の一種です。通常、ウィンドウ関数とともに使用され、各グループに関数を適用し、指定された列に基づいてデータをパーティションに分割します。

文の再表現は日本語で行ってください。選択肢は一つだけで大丈夫です。

SELECT column1, column2, ..., function(column)
  OVER (PARTITION BY partition_column)
  FROM table_name;

上記の文法において、PARTITION BYの後ろにあるpartition_columnは、データをグループ化するために指定される列を意味します。各グループにはそれぞれ計算結果があります。

例えば、salesという売り上げデータを含む表があるとします。この表には、salesperson、product、quantityという列があります。私たちは各売り上げ担当者の商品の売り上げ総額を計算したいとします。salespersonでデータを分割し、各グループに対してSUM関数を適用して売り上げ総額を計算することができます。

サンプル検索:

SELECT salesperson, product, quantity,
       SUM(quantity) OVER (PARTITION BY salesperson) as total_sales
  FROM sales;

各営業担当者ごとの各製品の売り上げ数量が返され、各グループで総売上高が計算されます。

bannerAds