Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ウィンドウ関数について

Avatar for kuro1221 kuro1221
March 12, 2023
23

 ウィンドウ関数について

ウィンドウ関数(SQL)について解説

Avatar for kuro1221

kuro1221

March 12, 2023

Transcript

  1. ׆༻ྫᶃ σʔλͷू໿ΛߦΘͣूܭͰ͖Δ ஫จ೔ ϝχϡʔ Ձ֨ ஫จऀ  ϥʔϝϯ  τϜ

     ϥʔϝϯ  ϚΠΫ  νϟʔϋϯ  τϜ  νϟʔϋϯ  δΣγʔ  ϥʔϝϯ  ϚΠΫ  ϥʔϝϯ  ϚΠΫ ϝχϡʔ ϝχϡʔຖͷ ஫จ਺ ஫จ೔ Ձ֨ ஫จऀ νϟʔϋϯ    τϜ νϟʔϋϯ    δΣγʔ ϥʔϝϯ    τϜ ϥʔϝϯ    ϚΠΫ ϥʔϝϯ    ϚΠΫ ϥʔϝϯ    ϚΠΫ ΢Οϯυ΢ؔ਺ ࢖͏ͱ
  2. GROUP BYͰूܭͨ͠৔߹ ϝχϡʔ ϝχϡʔຖͷ஫จ਺ ϥʔϝϯ  νϟʔϋϯ  SELECT item_name

    as ϝχϡʔ, count(item_name) AS ϝχϡʔຖͷ஫จ਺ FROM order GROUP BY item_name
  3. SELECT item_name as ϝχϡʔ, count(item_name) over count_menu AS ஫จ਺ ,

    price as Ձ֨, order_date as ஫จ೔, orderer as ஫จऀ FROM order WINDOW count_menu AS (PARTITION BY item_name); จ๏ʢPARTITION BYʣ ΢Οϯυ΢ؔ਺ JUFN@OBNFͰάϧʔϐϯά͢Δ (3061#:ͷΑ͏ͳΠϝʔδʣ 1"35*5*0/#:Ͱू໿ͤͣूܭ͕Ͱ͖Δ
  4. ׆༻ྫᶄ ౦ژͷίϩφײછऀ਺ ೔෇ ࠓ೔ͷײછऀ਺ ೔ؒฏۉ ೔ؒ߹ܭ    

                                        લޙͷϨίʔυͷ߹ܭ΍ฏۉΛܭࢉͰ͖Δ
  5. SELECT date AS ೔෇, infected_person AS ࠓ೔ͷײછऀ਺, AVG(infected_person) OVER 7

    days AS 7 ೔ؒฏۉ, SUM(infected_person) OVER 7 days AS 7 ೔ؒ߹ܭ FROM covit WINDOW 7 days AS ( ORDER BY date ASC ROWS BETWEEN 6 PRECEDING AND CURRENT ROW ) จ๏ʢORDER BYʣ ݱࡏͷߦ͔ΒߦલͷϨίʔυΛܭࢉ 03%&3#:Λ࢖͏ͱલޙͷϨίʔυͷूܭ͕Ͱ͖Δ