<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      窗口函數(shù)中RANGE BETWEEN和ROWS BETWEEN的區(qū)別

      我將通過具體例子說明 RANGE BETWEEN 和 ROWS BETWEEN 的核心區(qū)別。

      一、示例數(shù)據(jù)

      假設(shè)有銷售表transaction_detail ,記錄每天的銷售額:

      product

      transaction_time

      amount

       

      華為

      2018-01-01 00:00:00

      5000

       

      華為

      2018-01-02 00:00:00

      4800

       

      華為

      2018-01-03 00:00:00

      5000

       

      華為

      2018-01-05 00:00:00

      6500

      (注意:01-04 無數(shù)據(jù))

      華為

      2018-01-05 00:00:00

      8000

      (同一日兩筆交易)

      華為

      2018-01-06 00:00:00

      5600

       

       

      二、核心區(qū)別

      1. RANGE BETWEEN:按邏輯值范圍篩選

      SQL語句:

      SELECT
        product,
        transaction_time,
        amount,
        SUM(amount) OVER (
          PARTITION BY product
          ORDER BY transaction_time
          RANGE BETWEEN INTERVAL 2 DAY PRECEDING AND CURRENT ROW
        ) AS range_sum
      FROM transaction_detail;

       

      執(zhí)行結(jié)果:

      product

      transaction_time

      amount

      range_sum

       

      華為

      2018-01-01 00:00:00

      5000

      5000

      (僅當(dāng)天)

      華為

      2018-01-02 00:00:00

      4800

      9800

      (01-01 至 01-02)

      華為

      2018-01-03 00:00:00

      5000

      14800

      (01-01 至 01-03)

      華為

      2018-01-05 00:00:00

      6500

      19500

      (01-03 至 01-05,自動(dòng)跳過 01-04)

      華為

      2018-01-05 00:00:00

      8000

      19500

      (與上一行范圍相同)

      華為

      2018-01-06 00:00:00

      5600

      20100

      (01-04 至 01-06,自動(dòng)跳過 01-04)

      關(guān)鍵點(diǎn):
        • 按日期差值篩選:INTERVAL 2 DAY PRECEDING 表示當(dāng)前日期的前 2 天(如 01-05 的范圍是 01-03 至 01-05)。
        • 忽略日期間隙:即使 01-04 無數(shù)據(jù),也會(huì)按實(shí)際日期計(jì)算范圍。
        • 合并重復(fù)值:同一日期的多行數(shù)據(jù)(如 01-05 的兩筆交易)會(huì)被全部包含。

       

      2. ROWS BETWEEN:按物理行號(hào)篩選

      SQL語句:

      SELECT
        product,
        transaction_time,
        amount,
        SUM(amount) OVER (
          PARTITION BY product
          ORDER BY transaction_time
          ROWS BETWEEN 2 PRECEDING AND CURRENT ROW
        ) AS rows_sum
      FROM transaction_detail ;

       

      執(zhí)行結(jié)果:

      product

      transaction_time

      amount

      rows_sum

       

      華為

      2018-01-01 00:00:00

      5000

      5000

      (僅當(dāng)前行)

      華為

      2018-01-02 00:00:00

      4800

      9800

      (前 1 行 + 當(dāng)前行)

      華為

      2018-01-03 00:00:00

      5000

      14800

      (前 2 行 + 當(dāng)前行)

      華為

      2018-01-05 00:00:00

      6500

      16300

      (前 2 行 + 當(dāng)前行)

      華為

      2018-01-05 00:00:00

      8000

      19500

      (前 2 行 + 當(dāng)前行)

      華為

      2018-01-06 00:00:00

      5600

      20100

      (前 2 行 + 當(dāng)前行)

       

      關(guān)鍵點(diǎn):
        • 按行號(hào)偏移量篩選:2 PRECEDING 表示當(dāng)前行的前 2 行(無論日期是否連續(xù))。
        • 嚴(yán)格按物理行計(jì)算:即使 01-04 無數(shù)據(jù),也會(huì)按行號(hào)選取前 2 行(如 01-05 的第一筆交易取到 01-03 和 01-05 的前一筆)。
        • 逐行處理重復(fù)值:同一日期的多行數(shù)據(jù)會(huì)被單獨(dú)計(jì)算(如 01-05 的第二筆交易取到前兩行和自身)。

       

       

      三、應(yīng)用場(chǎng)景對(duì)比

      場(chǎng)景

      RANGE BETWEEN 適合

      ROWS BETWEEN 適合

      計(jì)算近 7 天銷售額

      ? 自動(dòng)跳過無交易的日期(如周末)

      ? 若周末無數(shù)據(jù),會(huì)導(dǎo)致行偏移錯(cuò)誤

      計(jì)算移動(dòng)平均(3 行)

      ? 可能包含不連續(xù)日期的數(shù)據(jù)

      ? 嚴(yán)格按連續(xù) 3 行計(jì)算,不考慮日期間隙

      處理重復(fù)日期

      ? 自動(dòng)合并同一日的所有交易

      ? 逐行計(jì)算,可能導(dǎo)致重復(fù)累加

       

      四、總結(jié)

      特性

      RANGE BETWEEN

      ROWS BETWEEN

      范圍依據(jù)

      邏輯值(如日期、數(shù)值)的差值

      物理行號(hào)的偏移量

      處理日期間隙

      自動(dòng)忽略無數(shù)據(jù)的日期

      嚴(yán)格按行號(hào)計(jì)算,不受日期影響

      處理重復(fù)值

      合并同一邏輯值的所有行

      逐行處理,不合并

      典型場(chǎng)景

      按時(shí)間范圍統(tǒng)計(jì)(如近 7 天銷量)

      固定行數(shù)的滑動(dòng)窗口(如移動(dòng)平均)

       

      選擇哪種方式取決于你的數(shù)據(jù)特性和統(tǒng)計(jì)需求:若需按實(shí)際時(shí)間范圍統(tǒng)計(jì),用 RANGE;若需固定行數(shù)的計(jì)算,用 ROWS。

       

      posted @ 2025-06-04 10:05  業(yè)余磚家  閱讀(323)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲欧美中文字幕5发布| 好吊视频一区二区三区人妖| 亚洲欧美牲交| 欧美情侣性视频| 亚洲色在线v中文字幕| 国产成人精品亚洲精品密奴| 免费高潮了好湿h视频| 亚洲国产精品综合久久2007| 九九热视频免费在线播放| 国产精品亚洲二区在线看 | 午夜在线观看成人av| 久久精品蜜芽亚洲国产AV| 日本一区二区三区四区黄色| 国产精品小粉嫩在线观看| 国产亚洲制服免视频| 起碰免费公开97在线视频 | 狠狠综合久久久久综| 欧美性色黄大片| 99国产午夜福利在线观看| 熟女系列丰满熟妇AV| 西宁市| 色综合天天综合天天更新| 宣化县| h动态图男女啪啪27报gif| yy111111在线尤物| 精品一区精品二区制服| 一本色道久久东京热| 中文字幕熟妇人妻在线视频| 日本狂喷奶水在线播放212| 国产亚洲av手机在线观看| 日韩人妻少妇一区二区三区| 国厂精品114福利电影免费| 忘忧草在线社区www中国中文| 亚日韩精品一区二区三区| 国产精品亚洲精品日韩已满十八小| 国产乱色国产精品免费视频| 中文文字幕文字幕亚洲色| 特级毛片在线大全免费播放| 疯狂添女人下部视频免费| 欧美另类图区清纯亚洲| 忘忧草在线社区www中国中文|