表数据如下:
查询sql:
select * from queryweek t where time > sysdate - (to_char(sysdate-1,'D'))
查询结果如下:
注解:
我写这篇博客的时间是“2016-08-26-星期五,to_char(sysdate-1,'D')
返回的是5(因为一周的开始是星期日)
sysdate-5
是26-5=21号,星期天。
所以整条sql语句选择出来的是 大于 星期天 的结果。
日报:
select substr(t."Timestamp",2,6) as
QueryTime,avg(t."AVG_Number_CPUs"),max(t."AVG_Total_Memory"),max(t."MAX_CPU_Utilization"),avg(t."AVG_CPU_Utilization"),max(t."MAX_Memory_Utilization"),avg(t."AVG_Memory_Utilization")
from kvm_clusters_d t
where substr(t."Timestamp",2,6) between 160809 and 160816 group by substr(t."Timestamp",2,6) order by QueryTime
周报:
select concat(substr(t."Timestamp",4,2), to_char(to_date(substr(t."Timestamp",2,6),'yymmdd'),'w')) ,max(t."MAX_CPU_Utilization") as maxCpuUtilization,
avg(t."AVG_CPU_Utilization") as avgCpuUtilization,max(t."MAX_Memory_Utilization") as maxMemoryUtilization,
avg(t."AVG_Memory_Utilization") as avgMemoryUtilization
from kvm_clusters_w t where substr(t."Timestamp",2,6) between 160813 and 160818
group by concat(substr(t."Timestamp",4,2), to_char(to_date(substr(t."Timestamp",2,6),'yymmdd'),'w'))
order by concat(substr(t."Timestamp",4,2), to_char(to_date(substr(t."Timestamp",2,6),'yymmdd'),'w'))