数据库查询相隔同等时间段的数据量

本文介绍如何在SQLServer2008中查询人员基本信息表,按7天间隔获取在职人数。从特定日期开始,每次向前推7天,直至查询到当年1月。现有实现虽然得到预期结果,但作者寻求更高效的方法。
摘要由CSDN通过智能技术生成

比如说一张人员基本信息表,emp_baseinfo;

包含两个字段,聘用日期:emp_pydate和

                            离职日期:emp_lzdate。

现在要按条件查询每隔7天的在职人员数量,                          

如果查询条件是2016-02-01,

那么截止到2016-02-01是多少人,
        截止到2016-01-25是多少人,
        截止到2016-01-18是多少人,
        截止到2016-01-11是多少人,
        截止到2016-01-04是多少人,

也就是说按查询条件开始查起,每减去7天查一次,直到当年1月日期不能再减为止。

笔者这里用的是sqlserver2008,具体实现如下:

declare @num varchar(100)
declare @sql varchar(1000)
      set @num ='2016-04-10'
      set @sql =''
while @num>='2016-01-01'
begin 
IF (@num>'2016-01-07')
      begin
      set @sql=@sql+'select '''+@num+''&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟德三笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值