sql找出连续日期和连续数字
来源:互联网 发布:《企业的大数据战略》 编辑:程序博客网 时间:2024/04/30 09:30
tips:
1 代码在sqlserver2005实现,其他数据需要经过修改
2 计算连续时间和连续数字是同一类问题,所以合起来一起说,计算连续时间的时候只不过将时间转换成数字而已
3 此方法相对高效
第一步
构造数据
create table #tmptable(id int identity(1,1),rq smalldatetime)
insert #tmptable values('2010.1.1')
insert #tmptable values('2010.1.2')
insert #tmptable values('2010.1.3')
insert #tmptable values('2010.1.6')
insert #tmptable values('2010.1.7')
insert #tmptable values('2010.1.10')
insert #tmptable values('2010.1.11')
insert #tmptable values('2010.1.12')
insert #tmptable values('2010.1.19')
insert #tmptable values('2010.1.20')
insert #tmptable values('2010.1.22')
insert #tmptable values('2010.1.23')
insert #tmptable values('2010.1.28')
第二步
临时中间表
select id,rq,datediff(d,(select min(rq) from #tmptable),rq)+1 idd into #tp from
第三步
select y.rq,x.rq,datediff(d,y.rq,x.rq)+1 dtdf from
(
select min(a.idd) as minid, max(a.idd) as maxid
from
(
select idd, (idd - row_number() over(order by idd asc)) id_diff
from
#tp c
) a
group by a.id_diff
) z
left join #tp y
on z.minid=y.idd
left join #tp x
on z.maxid=x.idd
- sql找出连续日期和连续数字
- oracle 生成连续日期SQL
- 连续数据(数字,日期)的个数
- 连续数字
- [Javascript]找出能被两个给定参数和它们之间的连续数字整除的最小公倍数
- 找出连续子数组的最大和
- 找出连续子向量的最大和
- 41 - 找出数组中和为sum的 2个数字 | 找出和为sum的连续正整数序列
- 找出为连续数字产生最多质数的二次公式。
- 【c++】字符串中找出最长的连续数字字符串
- 找出字符串中的最长连续数字子串
- [sql server] 得到连续日期查询
- sql server 得到连续日期查询
- Sql Server 生成连续的日期列表
- Sql Server 生成连续的日期
- SQL ORACLE MYSQL 最大连续日期计算
- sql 输出连续日期、月份、年份
- 连续最大和,数字类区间问题
- 【2017多校】第一场B题:Balala Power!
- Party All the Time HDU
- SQL优化之道
- <Android> Linux Driver Log获取
- IOS蒲公英自动打包
- sql找出连续日期和连续数字
- library not found for -xxx
- 类的继承以及类中成员的访问特性
- php 复制a.txt复制到b.txt,a.txt从第2行到10行复制到c.txt
- 2个线程模拟卖火车票
- java栈与常量池中基本数据类型
- Java_基础—内存输出流
- “/RCMDemo”应用程序中的服务器错误。
- python 时间模块(time and datetime)