a b c
1 2001-1-1 0
1 2001-1-2 1
2 2001-1-3 2
2 2001-1-4 2
2 2001-1-5 2
2 2001-1-6 2
2 2001-1-7 2查询 日期最接近当前日期前2个数据行中a=1的数量
如c
1 2001-1-1 0
1 2001-1-2 1
2 2001-1-3 2
2 2001-1-4 2
2 2001-1-5 2
2 2001-1-6 2
2 2001-1-7 2查询 日期最接近当前日期前2个数据行中a=1的数量
如c
select top 2 -- 前2个数据行
*
from tb
where a=1 -- a=1的数量
order by abs(datediff(day, b, getdate())) -- 最接近当前日期
from tablename
order by abs(datediff(hour, b, getdate()))
where b<'2001-1-5' and a=1
order by b desc
-------------------------------------------------这个前二行指的是:
(1)在 2001-1-5 这行前面的两行
还是
(2)在b最接近 2001-1-5 的所有记录中最前两行?如果是前者就是我上面写的,
如果是后者,那就是楼上那几位写的,将 GETDATE()换成 '2001-1-5' 即可。
谢谢大家了..来者有分...