数据库自连接查询的一个例子
求其中同一个号码的两次通话之间间隔大于10秒的通话记录ID
例如:6,7,8,9,10条记录均符合
ID 主叫号码 被叫号码 通话起始时间 通话结束时间 通话时长
1 98290000 0215466546656 2007-02-01 09:49:53.000 2007-02-01 09:50:16.000 23
2 98290000 021546654666 2007-02-01 09:50:29.000 2007-02-01 09:50:41.000 12
3 98290000 021546654666 2007-02-01 09:50:58.000 2007-02-01 09:51:12.000 14
4 68290900 0755133329866 2007-02-01 10:04:31.000 2007-02-01 10:07:13.000 162
5 78290000 0755255708638 2007-02-01 10:48:26.000 2007-02-01 10:49:23.000 57
6 78290000 0755821119109 2007-02-01 10:49:39.000 2007-02-01 10:52:55.000 196
7 78290000 035730928370 2007-02-01 11:30:45.000 2007-02-01 11:31:58.000 73
8 78290000 0871138889904 2007-02-01 11:33:47.000 2007-02-01 11:35:00.000 73
9 68290000 035730928379 2007-02-01 11:52:20.000 2007-02-01 11:54:56.000 156
10 68290000 0298521811199 2007-02-01 12:44:45.000 2007-02-01 12:45:04.000 19
答案:
SELECT DISTINCT a.* FROM dbo.hc a left join dbo.hc b ON a.主叫号码=b.主叫号码 WHERE a.id<>b.id AND (DATEDIFF(second,a.通话起始时间,b.通话结束时间)>10 AND DATEDIFF(second,b.通话起始时间,a.通话结束时间)>10)
相关文章
- 数据库连接超时执行超时
- [WPF]C#连接使用sqllite数据库,,支持多线程操作
- MySQL 数据库查询练习
- 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange
- 在Sql Server里通过Sql语句【连接】和【操作】另一个【外地数据库】!
- 数据库常见索引解析(B树,B-树,B+树,B*树,位图索引,Hash索引)
- 【Bug】idea 连接postgresql数据库超时 [08001] 尝试连线已失败。 java.net.SocketTimeoutException: connect timed out.
- qt连接MySql数据库及增删改查示例
- 《HBase权威指南》一1.5 HBase:Hadoop数据库
- nodejs进阶(6)—连接MySQL数据库
- 云数据库与其他数据库的关系
- 一、使用Navicat连接阿里云服务器宝塔面板里创建的数据库
- 《Tableau数据可视化实战》——1.4节连接Access数据库
- openGauss用户一次只能连接到一个数据库,没法访问其他数据库的对象
- Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)
- Java高手速成 | 数据库实训:图书馆管理系统建模
- 【php】Apache无法自己主动跳转却显示文件夹与php无法连接mysql数据库的解决方式
- JDBC连接MySQL数据库及演示样例
- 测试oracle数据库的脱机备份和恢复
- EF core 根据数据库生成模型 scaffold-dbcontext(转载)
- 【数据库学习笔记】——创建数据库连接对象connection
- java c3p0连接数据库实例(mysql)完整实例
- 数据库查询之子查询