【发布时间】:2015-02-13 18:48:55
【问题描述】:
我有另一个查询要再次按周分组。
因此,下面的第一个代码摘录根据某个固定代码计算了所有调用类型。我正在尝试按周和/或天有效地将这些分组,以便我可以根据呼叫类型识别呼叫号码的趋势。
SELECT count(*),substr(FIXCODE,1,4) FROM opencall
WHERE (opencall.status > 15 OR opencall.status = 6)
and FIXCODE like 'HPS0%'
and trunc(to_date(substr(CLOSEDATE,1,10), 'DD-MM-YY')) BETWEEN '01-JAN-14' AND '24-DEC-14'
GROUP BY substr(FIXCODE,1,4)
这会返回
Count FixCode
2425 HPS0
因此,这是自 1 月 1 日以来以 HPS0 修复代码开始的所有调用的计数。
我之前的一段代码由 StackOverflow 上的另一个非常有用的小伙完成,见下文,它对原始调用进行分组并按周计算它们,但我不知道如何将两者结合起来。
最好将 2425 个 HPS0 调用细分为几周,这样我就可以看到每周有多少调用被关闭以了解趋势。任何人都可以帮忙吗?我也想白天做。
select
'WEEK '|| row_number() over(order by trunc(NEXT_DAY(to_date(substr(LOGDATE,1,10), 'DD-MM-YY'),'FRIDAY'), 'IW')) WEEK,
count(*)
from opencall
where trunc(to_date(substr(LOGDATE,1,10), 'DD-MM-YY')) BETWEEN '01-JAN-14' AND '31-DEC-14'
group by trunc(NEXT_DAY(to_date(substr(LOGDATE,1,10), 'DD-MM-YY'),'FRIDAY'), 'IW')
order by trunc(NEXT_DAY(to_date(substr(LOGDATE,1,10), 'DD-MM-YY'),'FRIDAY'), 'IW');
【问题讨论】: