惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
量子位
IT之家
IT之家
Jina AI
Jina AI
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
人人都是产品经理
人人都是产品经理
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
AWS News Blog
AWS News Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
P
Proofpoint News Feed
S
Schneier on Security
Spread Privacy
Spread Privacy
The Hacker News
The Hacker News
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
L
LINUX DO - 热门话题
博客园 - 聂微东
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Security Latest
Security Latest
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
K
Kaspersky official blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
Last Week in AI
Last Week in AI
博客园 - Franky
G
GRAHAM CLULEY
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tailwind CSS Blog
L
LINUX DO - 最新话题
T
The Exploit Database - CXSecurity.com
博客园 - 三生石上(FineUI控件)
P
Privacy International News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
Schneier on Security
Schneier on Security
V
V2EX
V
Visual Studio Blog
S
Security @ Cisco Blogs
博客园 - 叶小钗
H
Hacker News: Front Page
小众软件
小众软件
WordPress大学
WordPress大学
V2EX - 技术
V2EX - 技术
美团技术团队

博客园 - chenzechao

抓取 DNS 解析记录 router iStoreOS mysql starrocks json处理 json遍历数组所有元素 git复制指定提交到其他分支 secureCrt标签页固定 mac键盘 vs code settings.json StarRocks中CTE报错 shell 循环遍历的详细用法 shell变量带默认值配置 cursor自动执行 JDK17生成JRE环境 Alt+Tab切换窗口时不包括网页窗口 mysql变量使用 maven工程改版本号,支持多模块一次性修改 mysql取中位数、p80、p90 SQL自定义排序 IDEA常用快捷键 Linux环境使用上下方向键无法查看history历史记录问题解决方法 博文阅读密码验证 - 博客园 linux设置http proxy flask框架在本机可访问,而其它机子访问不了
拉链表匹配筛选日期区间
chenzechao · 2026-01-21 · via 博客园 - chenzechao
select
    *
from (
    select 1 as start,5 as end union all
    select 6 as start,10 as end union all
    select 11 as start,15 as end union all
    select 17 as start,22 as end union all
    select 23 as start,30 as end
) t1
where 1 = 1
    and (
        (start >= 2 and start <= 23)  -- 起始时间与筛选范围交集
     or (end >= 2   and end <= 23)    -- 结束时间与筛选范围交集
     or (start <= 2 and end >= 23)    -- 起始时间完全包裹筛选范围
     or (start >= 2 and end <= 23)    -- 筛选范围完全包裹起始时间
    )
;

image

       sum(
         case 
            -- 1. 店员入职日期 小于 统计开始日期,店员离职日期 大于 统计结束日期,取 统计结束日期 - 统计开始日期
            when employee_status_name in ('正式','离职') and employee_entry_date <= '${ETL_END_MON1}' and employee_disabled_date >= '${ETL_END_DATE1}'
                then (date_diff('${ETL_END_DATE1}','${ETL_END_MON1}')+1)/(date_diff('${ETL_END_DATE1}','${ETL_END_MON1}')+1)

            -- 2. 店员入职日期 大于 统计开始日期,店员离职日期 大于 统计结束日期,取 统计结束日期 - 店员入职日期
            when employee_status_name in ('正式','离职') and employee_entry_date >= '${ETL_END_MON1}' and employee_disabled_date >= '${ETL_END_DATE1}'
                then (date_diff('${ETL_END_DATE1}',employee_entry_date)+1)/(date_diff('${ETL_END_DATE1}','${ETL_END_MON1}')+1)

            -- 3. 店员入职日期 小于 统计开始日期,店员离职日期 小于 统计结束日期,取 店员离职日期 - 统计开始日期
            when employee_status_name in ('正式','离职') and employee_entry_date <= '${ETL_END_MON1}' and employee_disabled_date <= '${ETL_END_DATE1}'
                then (date_diff(employee_disabled_date,'${ETL_END_MON1}')+1)/(date_diff('${ETL_END_DATE1}','${ETL_END_MON1}')+1)

            -- 4. 店员入职日期 大于 统计开始日期,店员离职日期 小于 统计结束日期,取 店员离职日期 - 店员入职日期
            when employee_status_name in ('正式','离职') and employee_entry_date >= '${ETL_END_MON1}' and employee_disabled_date <= '${ETL_END_DATE1}'
                then (date_diff(employee_disabled_date,employee_entry_date)+1)/(date_diff('${ETL_END_DATE1}','${ETL_END_MON1}')+1)
            else 0 
        end
    ) wt_people_qty --加权店铺员工数

【腾讯文档】拉链表匹配筛选日期区间
https://docs.qq.com/board/DRVNHT0doV2drTnZk