MySQL day关联day-1实现数据日级变化

select 
    upload_time, 
    game_name, 
    TDVX, 
    YDVX, 
    TDBD, 
    YDBD, 
    CASE WHEN (TDVX-YDVX)/TDVX IS NULL THEN 0 else CONCAT(CONVERT(round((TDVX-YDVX)/TDVX*100, 2), CHAR), "%") end "VX%", 
    CASE WHEN (TDBD-YDBD)/TDBD IS NULL THEN 0 else CONCAT(CONVERT(round((TDBD-YDBD)/TDBD*100, 2), CHAR), "%") end "BD%" 
from (
    select 
        T1.upload_time as upload_time,
        T1.game_name as game_name,
        CASE WHEN T1.VXINDEX IS NULL THEN 0 ELSE T1.VXINDEX end "TDVX",
        CASE WHEN T2.VXINDEX IS NULL THEN 0 ELSE T2.VXINDEX end "YDVX",
        CASE WHEN T1.BDINDEX IS NULL THEN 0 ELSE T1.BDINDEX end "TDBD",
        CASE WHEN T2.BDINDEX IS NULL THEN 0 ELSE T2.BDINDEX end "YDBD"
    from(
        select 
            upload_time, 
            VXINDEX,
            BDINDEX,
            game_name
        from {0} where upload_time >= '{1}' and date_format(upload_time, '%Y-%m-%d') <= '{2}'
    ) T1
    left join (
        select
            upload_time, 
            VXINDEX,
            BDINDEX,
            game_name
        from {0}
        where upload_time >= DATE_SUB(date_format('{1}', '%Y-%m-%d'),INTERVAL 1 DAY) and upload_time <= DATE_SUB(date_format('{2}', '%Y-%m-%d'),INTERVAL 1 DAY)
    ) T2
    on T1.upload_time = DATE_add(date_format(T2.upload_time, '%Y-%m-%d'),INTERVAL 1 DAY) and T1.game_name=T2.game_name
) A;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值