zoukankan      html  css  js  c++  java
  • 近期价格处于降价趋势(至少调了3次)的所有商品

    --近期价格处于降价趋势(至少调了3次)的所有商品
    if object_id('[tb]') is not null drop table [tb]
    go 
    create table [tb]([日期] datetime,[商品编码] varchar(6),[价格] numeric(3,1))
    insert [tb]
    select '20091101','033001', 11.9 union all
    select '20091101','033002', 30.5 union all
    select '20091101','033003', 2 union all

    select '20091102','033001', 11.9  union all
    select '20091102','033002', 30    union all
    select '20091102','033003', 2      union all

    select '20091103','033001', 11.5  union all
    select '20091103','033002', 30.5  union all
    select '20091103','033003', 2.5    union all

    select '20091104','033001', 11.5  union all
    select '20091104','033002', 30.5  union all
    select '20091104','033003', 2.5    union all

    select '20091105','033001', 11.5  union all
    select '20091105','033002', 30.5  union all
    select '20091105','033003', 2.8    union all

    select '20091106','033001', 11.5  union all
    select '20091106','033002', 30    union all
    select '20091106','033003', 2.9    union all

    select '20091107','033001', 11    union all
    select '20091107','033002', 30    union all
    select '20091107','033003', 2.9    union all

    select '20091108','033001', 10.8  union all
    select '20091108','033002', 30    union all
    select '20091108','033003', 2.9 
       
    --------------开始查询--------------------------
    with cte2 as 
    (
    select row_number() over (partition by 商品编码 order by 价格 desc) as denserank,* from tb)
    select * from cte2 
    where 商品编码 in (select 商品编码 from cte2 where 日期='20091108' and denserank>=3
    order by  商品编码,日期

    /*
    denserank 日期    商品编码  价格
    ----------------------------------
      1      2009-11-01     033001    11.9
      2      2009-11-02     033001    11.9
      3      2009-11-03     033001    11.5
      4      2009-11-04     033001    11.5
      5      2009-11-05     033001    11.5
      6      2009-11-06     033001    11.5
      7      2009-11-07     033001    11.0
      8      2009-11-08     033001    10.8
      4      2009-11-01     033002    30.5
      5      2009-11-02     033002    30.0
      3      2009-11-03     033002    30.5
      2      2009-11-04     033002    30.5
      1      2009-11-05     033002    30.5
      6      2009-11-06     033002    30.0
      8      2009-11-07     033002    30.0
      7      009-11-08     033002    30.0
    */




  • 相关阅读:
    VRRP(Virtual Router Redundancy Protocol)业界标准
    CISCO快速转发
    89、C++中将临时变量作为返回值时的处理过程
    87、C++函数调用的压栈过程
    82、类什么时候会析构?
    84、智能指针的原理、常用的智能指针及实现
    81、构造函数一般不定义为虚函数的原因
    80、构造函数析构函数可否抛出异常
    79、虚析构函数的作用,父类的析构函数是否要设置为虚函数?
    78、构造函数、析构函数的执行顺序?
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/1638156.html
Copyright © 2011-2022 走看看