Sie könnten die Tabelle mit einer aggregierten Abfrage verknüpfen, die die minimale call_time abruft par call_id von unbeendeten Anrufen. Ein nicht beendeter Anruf ist ein Anruf, der keinen Datensatz hat, bei dem proceed_wait = 0 ist .
select t.queue_num_curr, t.ast_num_curr, count(*)
from mytable t
inner join (
select call_id, min(call_time) call_time
from mytable
group by call_id
having max(proceed_wait = 0) = 0
) tmin on tmin.call_id = t.call_id and tmin.call_time = t.call_time
group by t.queue_num_curr, t.ast_num_curr
order by t.queue_num_curr, t.ast_num_curr
queue_num_curr | ast_num_curr | count(*)
-------------: | -----------: | -------:
9004 | 2 | 1
9010 | 2 | 2
9010 | 3 | 1
9010 | 5 | 1
NB:Ich denke, dass in den Ergebnissen queue_num = 9004 sollte ast_num = 2 haben statt 1 (das sollte call_id 49c43ad entsprechen ).