MySQL 案例:计算环比

做~自己de王妃 提交于 2019-12-02 02:50:56
select a.day_num as "序号",
       a.create_time as "上架时间",
       a.clue_num as "上架车源量",
      ((a.clue_num/b.clue_num)-1) as "环比"
from
(
    select cast(date_diff('day',cast('2019-01-01' as timestamp),a.create_time) as int) as day_num,
           a.create_time,
           a.clue_num
    from
    (
          SELECT
           --substr(create_time,1,7) as year_mo,
           date(from_unixtime(to_unixtime(cast(create_time as timestamp)))) as create_time,
           cast(count(distinct clue_id) as double) as clue_num
          FROM guazi_dw_dwd.dim_com_car_source_ymd as a
          WHERE dt = CAST(date_add('day', -1, current_date) AS VARCHAR)
          and substr(create_time,1,10) between '${date1}' and '${date2}'
          AND platform in (2,3)
          group by 1
    )a
)a
left join
(
    select cast(date_diff('day',cast('2019-01-01' as timestamp),a.create_time) as int) as day_num,
           a.create_time,
           a.clue_num
    from
    (
          SELECT
           --substr(create_time,1,7) as year_mo,
           date(from_unixtime(to_unixtime(cast(create_time as timestamp)))) as create_time,
           cast(count(distinct clue_id) as double) as clue_num
          FROM guazi_dw_dwd.dim_com_car_source_ymd as a
          WHERE dt = CAST(date_add('day', -1, current_date) AS VARCHAR)
          and substr(create_time,1,10) between '${date1}' and '${date2}'
          AND platform in (2,3)
          group by 1
    )a
)b
on a.day_num = b.day_num + 1
order by 1 asc

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!