C お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 カテゴリ 売上 A 11200 B 4000 C 1200 カテゴリ毎の売上総額を使って売上割合を出したい… カテ 商品名 売上 売上割合 A お茶1 8000 71% B ビール1 2200 55% C お菓子1 500 42% … … …
お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 ウィンドウ関数における PARTITION BYの挙動 SELECT *, 売上 / SUM(売り上げ) OVER (PARTITION BY カテゴリ) AS 売上割合 FROM 売上情報 売上情報 カテ 商品名 売上 売上割合 A お茶1 8000 61% B ビール1 2200 55% C お菓子1 500 42% … … … ? ? ?
お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 ウィンドウ関数におけるPARTITION BYの挙動 SELECT *, 売上 / SUM(売り上げ) OVER (PARTITION BY カテゴリ) AS 売上割合 FROM 売上情報 売上情報 カテ 商品名 売上 売上割合 A お茶1 8000 61% B ビール1 2200 55% C お菓子1 500 42% … … … ?
お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 ウィンドウ関数における PARTITION BYの挙動 SELECT *, 売上 / SUM(売り上げ) OVER (PARTITION BY カテゴリ) AS 売上割合 FROM 売上情報 売上情報 カテ 商品名 売上 売上割合 A お茶1 8000 71% B ビール1 2200 55% C お菓子1 500 42% … … … ?
お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 ウィンドウ関数における PARTITION BYの挙動 SELECT *, 売上 / SUM(売り上げ) OVER (PARTITION BY カテゴリ) AS 売上割合 FROM 売上情報 売上情報 カテ 商品名 売上 売上割合 A お茶1 8000 71% B ビール1 2200 55% C お菓子1 500 42% … … … ?
お菓子1 500 A お茶2 3200 B ビール2 1800 C お菓子2 700 ウィンドウ関数における PARTITION BYの挙動 SELECT *, 売上 / SUM(売り上げ) OVER (PARTITION BY カテゴリ) AS 売上割合 FROM 売上情報 売上情報 カテ 商品名 売上 売上割合 A お茶1 8000 71% B ビール1 2200 55% C お菓子1 500 42% … … … 各⾏が属するPARTITIONに対してWindow句の関数を適⽤
2019/1/1 い B 3 2022/3/7 に D 8 購買履歴 商品ID 商品名 単価 A 伊左衛門 130 B 午前の紅茶 150 C おいしい牛乳 250 商品マスタ 日時 顧客ID 商品ID 個数 商品名 単価 2019/1/1 い A 2 伊左衛門 130 2019/1/1 い B 3 午前の紅茶 150 l 指定した列に共通する値が存在する時,2つの表の⾏を結合 l 共通する値が存在しない時,⾏は無視される
2019/1/1 い B 3 2022/3/7 に D 8 購買履歴 商品ID 商品名 単価 A 伊左衛門 130 B 午前の紅茶 150 C おいしい牛乳 250 商品マスタ 日時 顧客ID 商品ID 個数 商品名 単価 2019/1/1 い A 2 伊左衛門 130 2019/1/1 い B 3 午前の紅茶 150 l 指定した列に共通する値が存在する時,2つの表の⾏を結合 l 共通する値が存在しない時,⾏は無視される 商品マスタに商品Dに関するデータがないので無視される
A 2 2019/1/1 い B 3 2022/3/7 に D 8 購買履歴 商品ID 商品名 単価 A 伊左衛門 130 B 午前の紅茶 150 C おいしい牛乳 250 商品マスタ 日時 顧客ID 商品ID 個数 商品名 単価 2019/1/1 い A 2 伊左衛門 130 2019/1/1 い B 3 午前の紅茶 150 2022/3/7 に D 8 l 指定した列に共通する値が存在する時,2つの表の⾏を結合 l 共通する値が存在しない時,結合する側の表の⾏は空で結合 (結合される側(左側)の表の情報のみ残す)