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
    */




  • 相关阅读:
    浅谈“踹”字典树
    2019.11.9 csp-s 考前模拟
    Luogu P1600[NOIP2016]day1 T2天天爱跑步
    Luogu P1197 [JSOI2008]星球大战
    Trie树(字典树)整理
    洛谷P3294 [SCOI2016]背单词——题解
    浅析差分及其推广(树上差分与广义差分)
    洛谷P1600 天天爱跑步——题解
    深入理解容斥原理
    花式求LCA
  • 原文地址:https://www.cnblogs.com/zengxiangzhan/p/1638156.html
Copyright © 2011-2022 走看看