例如,我有以下调用列表:
- 呼叫#1 - 持续时间 30 分钟
- 通话#2 - 时长 43 分钟
- 呼叫#3 - 持续时间 26 分钟
- 呼叫#4 - 持续时间 35 分钟
- 通话#5 - 时长 39 分钟
1) 我需要 SQL 查询检索前 80% 呼叫的平均持续时间。
属于前 80% 的呼叫(根据呼叫持续时间)是呼叫#3、#1、#4、#5。对于这些调用,应计算平均持续时间 ((26+30+35+39)/4=32,5)。超过 80% 的调用(这里调用 #2)应该被忽略。
2) 我还需要反之亦然的查询 -首次通话的平均通话时间为 30 分钟的百分比是多少?
3) Hot 获取第80% 条记录的时长(按通话时长排序)。例如,如果有 500 条记录,那么第 400 条记录的持续时间是多少?
这个 SQL 查询应该是什么样子(Oracle)?