我要寻找在MSSS光标使用基本方向。
说有一个表, TABLE1
,用2个字段( ID
, Date
)。 该ID
不是唯一的关键。 该表通过ID记录事件,以及一些IDS频繁发生,一些很少。
例如:
ID | Date
1 | 2010-01-01
2 | 2010-02-01
3 | 2010-02-15
2 | 2010-02-15
4 | 2010-03-01
我想创建一个新的表具有以下字段:ID,日期,时间ID的数量出现6个月之前的日期,次数ID出现在日期后的6个月。
有没有办法去完成这一个最好的方法? 谢谢好心。
这是一面(我认为 - 未测试)
select t1.id, t1.date, count(*) as 'count'
from table t1
join table t2
on t2.id = t1.id
and DateDiff(mm,t1.date,t2.date) <= 6
and DateDiff(mm,t1.date,t2.date) > 0
group by t1.id, t1.date
我想你可以跳过> 0和使用情况来算的积极和消极
sum(WHEN t1.date > t2.date then 0 else 1) as prior
sum(WHEN t1.date < t2.date then 0 else 1) as next
and DateDiff(mm,t1.date,t2.date) <= 6
and DateDiff(mm,t2.date,t2.date) <= 6
可能事先已和旁边倒着