create table  t( unitname varchar(20),
  invcode varchar(20),
  nprice  varchar(20),
  rq varchar(20)
   )insert into hostable values ('贸易有限公司',        '010101005',        '56.13000000',        '2016-01-01') ;
insert into hostable values ('贸易有限公司',        '010101005',        '58.75000000',        '2016-01-02') ;
insert into hostable values ('贸易有限公司',        '010101005',        '68.75000000',        '2016-01-03') ;
insert into hostable values ('贸易有限公司',        '010101005',        '70.00000000',        '2016-01-04') ;
insert into hostable values ('贸易有限公司',        '010101005',        '77.50000000',        '2016-01-05') ;
insert into hostable values ('贸易有限公司',        '010101005',        '56.13000000',        '2016-01-06') ;
insert into hostable values ('贸易有限公司',        '010101005',        '58.75000000',        '2016-01-07') ;
insert into hostable values ('贸易有限公司',        '010101005',        '68.75000000',        '2016-01-08') ;
insert into hostable values ('贸易有限公司',        '010101005',        '70.00000000',        '2016-02-01') ;
insert into hostable values ('贸易有限公司',        '010101005',        '77.50000000',        '2016-02-02') ;
insert into hostable values ('贸易有限公司',        '010101005',        '10.00000000',        '2016-02-03') ;
我指定一个查询范围 比如  2016-02-01---2016-02-03 ,我想通过分析函数,把最接近2016-02-01 的日期   即2016-01-08   和查询范围的日期分成一组 
如下 所示:
  '2016-01-01'   0
  '2016-01-02'   0
  '2016-01-03'   0
  '2016-01-04'   0
  '2016-01-05'   0
  '2016-01-06'   0
  '2016-01-07'   0
  '2016-01-08'   1
  '2016-02-01'   1
  '2016-02-02'   1
  '2016-02-03'   1
或者   '2016-01-01'   0
  '2016-01-02'   0
  '2016-01-03'   0
  '2016-01-04'   0
  '2016-01-05'   0
  '2016-01-06'   0
  '2016-01-07'   0
  '2016-01-08'   2
  '2016-02-01'   1
  '2016-02-02'   1
  '2016-02-03'   1

解决方案 »

  1.   

    case when 就可以实现啊? 用分析函数的意义是啥?为何要用分析函数
      

  2.   

    其实吧,我还是不懂,不明白你到底哪儿要用到分析函数了
    case when rq between  '2016-01-01' and   '2016-01-08' then 0 else 1 end
    比如说你指定范围了between  '2016-01-01' and   '2016-01-08',
    那你是想这个 '2016-01-08' 的前N行或后N行也置为0?