代码之家  ›  专栏  ›  技术社区  ›  Andrey

Mysql检查。按不同日期“同店销售”记录一天

  •  0
  • Andrey  · 技术社区  · 6 年前

    同店销售概念,如果你检查商店如何表现今天同店昨天显示收入增长或下降。 所以我和 5+ millions 记录结构如下

    store_id , stats_date, trans_cnt (number of transactions), 
    revenue, time_period(week, day , year)
    

    有没有办法避免使用 cursor ,以检查 store_id 记录昨天和今天存在,看看收入上升还是下降?

    1 回复  |  直到 6 年前
        1
  •  1
  •   sandeep rawat    6 年前

    可以实现对表或子表中相同过滤数据的联接。

    工业工程

     select tdate.store_id  ,(tdate.revenue - ydate.revenue) as diffrence 
     from (select store_id ,revenue from tablename where stats_date =getdata()) tdate 
       join ( select store_id ,revenue from tablename  where stats_date = DATEADD(day, -1,getdata()) )  as ydate
      on tdate.store_id = ydate.store_id
    

    注:

    更新昨天的筛选数据

    tdate筛选昨天的数据

    可以添加更多筛选条件。

    或者你在找

     select tdate.store_id  ,(tdate.revenue - ydate.revenue) as diffrence 
       from  tablename tdate 
       join tablename   as ydate
        on tdate.store_id = ydate.store_id
        and tdate.stats_date =ydate.DATEADD(day, -1,stats_date)