我有一个脚本:的Oracle SQL聚合功能
select
regexp_replace(b.username, '[0-9]', '') username, a.wait_class, count(*)
from
v$active_session_history a, dba_users b
where
a.user_id=b.user_id and
a.sample_time>sysdate - &minutes/1440
group by
regexp_replace(b.username, '[0-9]', ''), a.wait_class
order by
3 desc
,其输出是一样的东西:
USERNAME WAIT_CLASS COUNT(*)
UMESS Commit 139
VITPOINT User I/O 126
VITPOINT <NULL> 69
我怎么把它分解成HOURLY段,从而使输出的样子:
USERNAME START TIME WAIT_CLASS COUNT(*)
UMESS 10:00:00 Commit 66
UMESS 11:00:00 Commit 73
VITPOINT 10:00:00 User I/O 62
VITPOINT 11:00:00 User I/O 64
etc
我想的时间间隔是一个&以分钟输入的变量。因此,如果60分钟是输入,则间隔是每小时一次。
谢谢
这两种解决方案工作,但我喜欢这一个多在桶中的主分割间隔。感谢您的努力! – sandman