c*****d 发帖数: 6045 | 1 真受不猪一样的队友了
给大家show一个SQL语句
validation_log表记录了每个app_id在时间validation_ts验证通过
类似
app_A, ts_1
app_A, ts_2
app_A, ts_3
app_B, ts_4
现在要获得2012/9/1以后每个app_id每个月的验证次数,类似
app_A, 2012/09, 10
app_A, 2012/10, 20
app_A, 2012/11, 20
...
app_B, 2012/09, 15
...
select app_id,to_char(max(validation_ts),'mon-yyyy') Month,count(*)
from validation_log
where validation_ts >= to_date('01-sep-2012','dd-mon-yyyy')
group by app_id,to_char((validation_ts),'mon-yyyy')
order by app_id,max(validation_ts) desc | c*****d 发帖数: 6045 | 2 这个表还有一个archive表
3个月以前的数据在archive表
3个月内的数据在log表,两个表没有交集
老印队友这么写这个语句
还和我说为啥执行了一个小时也没返回结果
我和小伙伴都惊呆了
这需要啥样的智商呀
select app_id,to_char(max(validation_ts),'mon-yyyy') Month,count(*)
from validation_log a, validation_log_archive b
where a.validation_ts >= to_date('01-sep-2012','dd-mon-yyyy')
and b.validation_ts >= to_date('01-sep-2012','dd-mon-yyyy')
group by a.app_id,to_char((a.validation_ts),'mon-yyyy')
order by a.app_id,max(a.validation_ts) desc |
|