📝
Athenaのウィンドウ関数を実行してみる
1. 国と、その国の人口、その国が属する大陸の合計人口を出力するクエリ
年ごとにレコードがあるので、それも補足的に出力
SELECT
year AS "年",
country AS "国",
pop AS "人口",
SUM(pop) OVER (PARTITION BY continent) AS "大陸の合計人口"
FROM gapminder
2. ウィンドウ関数を使わずに出力する
その国が属する大陸の合計人口の答え合わせ的に実行。1のレコード量が多いので、アメリカ大陸の総人口に絞ってもう一度取得しておきます
SELECT
year AS "年",
country AS "国",
pop AS "人口",
SUM(pop) OVER (PARTITION BY continent) AS "大陸の合計人口"
FROM gapminder
WHERE continent = 'Americas'
下記のクエリはGROUP BY句を使用して集計しています。
SELECT
continent AS "大陸名",
SUM(pop) AS "人口"
FROM gapminder
GROUP BY continent
アメリカ大陸の総人口は、7,351,438,499人。ウィンドウ関数でも同じ結果が返ってきています。このようにウィンドウ関数を使うと、GROUP BY句などでまとめられずに個々のデータを残したまま、集計作業を行うことができるようです。
Discussion