当前位置: 代码迷 >> Sql Server >> 时间出现的次数?该如何解决
  详细解决方案

时间出现的次数?该如何解决

热度:43   发布时间:2016-04-24 09:33:54.0
时间出现的次数??
有两个表,J表和L表,J表中包含id(varchar 50),startTime(datetime)和endTime(datetime),L表中包含id(varchar 50)和time(datetime),两个表中的id是对应的,现在想统计出以id为单位,L表中的time时间包含在startTime和endTime的次数,即最终结果显示id和次数两个字段,非常感谢!
------解决思路----------------------
SELECT J.id,COUNT(L.id)[次数]
FROM J LEFT JOIN L ON J.id=L.id
AND J.startTime<=L.time AND J.endTime>=L.time
GROUP BY J.id

------解决思路----------------------
select L.id,sum(case when l.time between J.startTime and endTime then 1 else 0 end) as 次数
from J,L where J.id=L.id group by L.id
------解决思路----------------------
select 
L.id,
sum(case when  l.time>J.startTime and l.time<endTime then 1 else 0 end) as 次数
from J,L where J.id=L.id 
group by L.id
  相关解决方案