sql-server – 如何获取连续日期的计数
发布时间:2020-12-12 06:26:20 所属栏目:MsSql教程 来源:网络整理
导读:例如,有一些日期表: 2015-01-012015-01-022015-01-032015-01-062015-01-072015-01-11 我必须编写ms sql查询,它将返回从表中每个日期开始的连续日期的计数.结果如下: 2015-01-01 12015-01-02 22015-01-03 32015-01-06 12015-01-07 22015-01-11 1 在我看来,我
例如,有一些日期表:
2015-01-01 2015-01-02 2015-01-03 2015-01-06 2015-01-07 2015-01-11 我必须编写ms sql查询,它将返回从表中每个日期开始的连续日期的计数.结果如下: 2015-01-01 1 2015-01-02 2 2015-01-03 3 2015-01-06 1 2015-01-07 2 2015-01-11 1 在我看来,我应该使用LAG和LEAD功能,但现在我甚至无法想象思维方式. 解决方法CREATE TABLE #T ( MyDate DATE) ; INSERT #T VALUES ('2015-01-01'),('2015-01-02'),('2015-01-03'),('2015-01-06'),('2015-01-07'),('2015-01-11') SELECT RW=ROW_NUMBER() OVER( PARTITION BY GRP ORDER BY MyDate),MyDate FROM ( SELECT MyDate,DATEDIFF(Day,'1900-01-01',MyDate)- ROW_NUMBER() OVER( ORDER BY MyDate ) AS GRP FROM #T ) A DROP TABLE #T; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- tsql – t-sql WITH WITH WITH
- case语句where子句 – SQL Server
- LINQ-TO-SQL Refresh()在某些外部数据库更新(如ExecuteComm
- CSharp基础起步第十六期---SqlServer 基础04(聚合函数,数
- sql-server – 增加的网络延迟会导致MS SQL Server中的表锁
- SqlServer 导出指定表数据 生成Insert脚本
- 管理SQL中的层次结构:MPTT /嵌套集与邻接列表对存储路径
- sql – 除特定值以外的组
- sqlserver 2008 数据库表结构脚本及表数据导出方法
- SQL查询出表、存储过程、触发器的创建时间和最后修改时间示