大佬教程收集整理的这篇文章主要介绍了有趣的SQL加入日期之间的日期,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一排数据看起来像这样:
SELEct * from mySPtable | myPK | Area | requestType | StartDate | EndDate | 1 SB ADD 8/14/2011 8/18/2011 2 NB RMV 8/16/2011 8/16/2011
所以我想做的就是每天对每个区域的总请求数.结果应该是:
| myDate | requestType | Area | myCount | 8/14/2011 ADD SB 1 8/15/2011 ADD SB 1 8/16/2011 ADD SB 1 8/16/2011 RMV NB 1 8/17/2011 ADD SB 1 8/18/2011 ADD SB 1
我该怎么做呢?我被骗了,没有数量的谷歌搜索有帮助.
SET NOCOUNT ON DECLARE @Calendar TABLE (my_date datetiR_658_11845@E NOT NULL) DECLARE @date datetiR_658_11845@E,@max_date datetiR_658_11845@E SELECT @date = MIN(StartDatE),@max_date = MAX(EndDatE) FROM My_Table WHILE (@date <= @max_datE) BEGIN INSERT INTO @Calendar (my_datE) VALUES (@datE) SELECT @date = DATEADD(dy,1,@datE) END SELECT C.myDate,m.requestType,m.Area,COUNT(*) AS myCount FROM @Calendar C INNER JOIN My_Table M ON m.StartDate <= C.myDate AND m.EndDate >= C.myDate GROUP BY C.myDate,m.Area ORDER BY C.myDate,m.Area
根据您的潜在日期范围有多大,填写表变量可能需要一些时间.例如,如果范围跨越十或二.
以上是大佬教程为你收集整理的有趣的SQL加入日期之间的日期全部内容,希望文章能够帮你解决有趣的SQL加入日期之间的日期所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。