统计日增量数据:
用到了with as (), 命名as(查询语句), 查询日期 ,以及前一天的日期
with as() :with as() 叫做子查询部分,用于多次调用表格起别名后 方便使用,使用方法 with 名称 as(查询语句) 这个用法是先运行查询语句 将结果放到 a 中,查询语句可以嵌套。一个语句结束后用","隔开 下一个表用 名称as(查询语句)。
查询日期时间:DATE_FORMAT(列名,’时间日期各式‘)
DATE_FORMAT(data ,format)初始化时间格式 DATE_FORMAT(时间列名,转换格式)
with a as (select *
from
(SELECT
t1.tablename,##名字
t1.count,##统计总数
t1.etl_date,##时间
t2.apply,
t2.`status`,
t1.industry,
t1.unit
FROM
表1 t1,
表2 t2
WHERE
t1.tablename = t2.tablename) b
order by b.etl_date desc ),
todaydata as (select * from a where DATE_FORMAT(etl_date,'%Y-%m-%d %H') = DATE_FORMAT(NOW(),'%Y-%m-%d 10') ),
yestertodaydata as (select * from a where DATE_FORMAT(etl_date,'%Y-%m-%d %H') = DATE_FORMAT(NOW()- INTERVAL 1 DAY,'%Y-%m-%d 10'))
select todaydata.tablename,todaydata.count,yestertodaydata.count,todaydata.Industry,todaydata.count-yestertodaydata.count as intertvalcount from todaydata ,yestertodaydata where todaydata.tablename = yestertodaydata.tablename and todaydata.status = '动态'
##注意##
##select 的查询语句要与上面的查with as()语句一起运行