Teradata Показать людей, которые имеют более 10 вхождений в списке - PullRequest
0 голосов
/ 22 января 2020

Мне нужна помощь, чтобы выяснить это. Смотрите запрос Teradata ниже. Я только пытаюсь показать людей (l_name, f_name), у которых есть 10 или более случаев звонков в течение 60 секунд. Например, если у человека 9 звонков менее чем за 60 секунд, ни одна из этих записей не появится в результатах. Однако, если у них есть 11 вхождений, все 11 записей появятся в результатах.

select 
    group_name, device_id as record, starttime, length, csr_id, 
    f_name, l_name, sum(score), sum(poss_score), Manager, 
    case 
       when gro.name in ('Group A’) then 'Group 1’
       when gro.name in ('Group B’) then 'Group 2’
       when gro.name in ('Group c’) then 'Group 3’
       else gro.name 
    end as Group_Name
from 
    rep_voice re
left join 
    qa_complete com on re.record_ck = com.record_ck
join 
    users_groups us on us.user_ck = re.user_ck and us.current = 1
where 
    cast(re.starttime as date) between TRUNC((CURRENT_DATE-7)) and LAST_DAY((CURRENT_DATE-1)) 
    and duration<= 60
    and name in ('ABCD','EFGH','IJKL','LMNO')
qualify rank () over (partition by us.user_ck order by cast (us.modifiedon as date) desc) =1 
group by 
    1,2,3,4,5,6,7,9,us.user_ck,us.modifiedon

1 Ответ

0 голосов
/ 22 января 2020

Я не совсем знаком с вашим макетом схемы - как сказал Гордон, - но я думаю, что вы ищете это:

select * from call_table
qualify count(*) over (partition by user_caller)>=10
...