-
SQL时间重叠_sql两个时间字段差
- 网站名称:SQL时间重叠_sql两个时间字段差
- 网站分类:技术文章
- 收录时间:2025-09-04 00:22
- 网站地址:
“SQL时间重叠_sql两个时间字段差” 网站介绍
问题描述时间重叠指上下两行数据的时间段有重叠部分,现在要找出这些在时间上有重叠的记录。
具体问题有7个会议室,每个会议室每天都有人开会,某一天的开会时间如下:查询出开会时间有重叠的是哪几个会议室?上面预期结果是 ID 2 3 4 5 6
问题分析为了方便分析,我们画了如下一个草图来具体描述。图中上面部分t和下面部分b有一段是重复的,分别是b.starttime到t.endtime部分。通过数学集合的思想,我们可以得出这个重叠部分的集合关系。t.starttime<=b.endtimeAND t.endtime>=b.starttime上面这个数学集合的重叠部分就是我们要的找的。
具体解法
--创建测试数据
WITH Meeting AS(
SELECT1ID,'08:00' Starttime,'09:15' Endtime
UNION ALL
SELECT2,'13:20','15:20'
UNION ALL
SELECT3,'10:00','14:00'
UNION ALL
SELECT4,'13:55','16:25'
UNION ALL
SELECT5,'14:00','17:45'
UNION ALL
SELECT6,'14:05','17:45'
UNION ALL
SELECT7,'18:05','19:45')
--查询代码
SELECTDISTINCT b.* FROM Meeting t
JOIN Meeting b ON
t.Starttime<=b.Endtime
AND t.Endtime>=b.Starttime
AND b.ID <> t.ID --排除与自身时间相等的值
结果如下:
更多相关网站
- 28个SQL常用的DeepSeek提示词指令,码住直接套用
- SQL - 通过TSQL代码方式进行简单的数据查询 153
- 谁帮我看看,为啥我的PostgreSQL查询速度这么慢???
- Pandas有哪些命令比SQL查询更高效?
- 数仓|四个在工作后才知道的SQL密技
- 黑客小白的进阶之路——SQL注入之MySQL时间注入
- SQL入门知识篇_sql入门语句
- 表格存储 SQL 查询多元索引_sql多表查询的含义
- 使用SQL-Server分区表功能提高数据库的读写性能
- 数据库 SQL 高级用法(二)_高级sql语句
- SQL server查询-扩展查询_sqlserver范围查询
- 掌握SQL基础查询:(二)_sql基本查询语句大全
- SQL_日期函数_sql日期函数
- SQL 的核心目标是 高效获取每个分组中最新时间对应的记录
- SQL练习超详解——窗口函数+时间函数+子查询...
- 最近发表
- 标签列表
-
- mydisktest_v298 (35)
- sql 日期比较 (33)
- document.appendchild (35)
- 头像打包下载 (35)
- 梦幻诛仙表情包 (36)
- java面试宝典2019pdf (26)
- disk++ (30)
- 加密与解密第四版pdf (29)
- iteye (26)
- centos7.4下载 (32)
- intouch2014r2sp1永久授权 (33)
- jdk1.8.0_191下载 (27)
- axure9注册码 (30)
- 兔兔工程量计算软件下载 (27)
- ccproxy破解版 (31)
- aida64模板 (28)
- engine=innodb (33)
- shiro jwt (28)
- segoe ui是什么字体 (27)
- head first java电子版 (32)
- clickhouse中文文档 (28)
- jdk-8u181-linux-x64.tar.gz (32)
- 计算机网络自顶向下pdf (34)
- -dfile.encoding=utf-8 (33)
- jdk1.9下载 (32)