数据表中结构如
600000 浦发银行 2007-7-2 00:00:00 11.06 10.83 11.16 10.45 16498323 583619328
600000 浦发银行 2007-7-3 00:00:00 10.83 10.96 11.1 10.51 9648466 344585952
600000 浦发银行 2007-7-4 00:00:00 10.98 10.44 11.06 10.38 10904951 379273280
600000 浦发银行 2007-7-5 00:00:00 10.25 10.2 10.47 10.13 6832390 230506496
600000 浦发银行 2007-7-6 00:00:00 10.07 10.55 10.57 9.86 10594853 353114944
600000 浦发银行 2007-7-9 00:00:00 10.58 10.87 11.06 10.34 12629936 441856864
600000 浦发银行 2007-7-10 00:00:00 10.91 11.05 11.43 10.91 13190725 483763456
600000 浦发银行 2007-7-11 00:00:00 10.99 11.14 11.27 10.86 9996638 361046336
600000 浦发银行 2007-7-12 00:00:00 11.21 11.42 11.42 11.04 11856632 439049312
600000 浦发银行 2007-7-13 00:00:00 11.42 11.14 11.42 10.96 4255087 154553872
600000 浦发银行 2007-7-16 00:00:00 11.22 10.63 11.22 10.6 5276987 187154304
600000 浦发银行 2007-7-17 00:00:00 10.56 11.1 11.23 10.44 11511407 408278048




(代码,名称,时间,开,最高价,低,收,成交量,成交额)想要的操作是 给定起始日期,比如是2007-7-17,往前退N个交易日(假设三个就是2007-7-17,2007-7-16,2007-7-17),在这几个交易日内找出最大的最高价的字段

解决方案 »

  1.   

    select max(最高价) as 最大最高价 from table where 时间 between 2007-7-16 and 2007-7-17是不是这种意思?
      

  2.   


    select max(最高价) from T where to_date(to_char(时间, 'YYYY/MM/DD'), 'YYYY/MM/DD') <= to_date('2007-7-17', 'YYYY/MM/DD') and to_date(to_char(时间, 'YYYY/MM/DD'), 'YYYY/MM/DD') >= to_date('2007-7-15', 'YYYY/MM/DD') group by 代码,名称
      

  3.   

    日期加减,DATEADD ( datepart , number, date ) 
      

  4.   


    --获取最近三天的最大的最高价
    select Max(最高价) from tab
    where to_date between dateadd(dd, 1-3, cast(GETDATE() as date)) and cast(GETDATE() as date)
      

  5.   


    declare @hha datetime
    set @hha='2016-1-8'
    select * from RptDef where RptIdNo between DATEADD(dd,-3,@hha) and @hha