Bạn có thể tham gia vào bảng với một truy vấn tổng hợp lấy ra call_time
tối thiểu par call_id
của các cuộc gọi chưa hoàn thành. Cuộc gọi chưa hoàn thành là cuộc gọi không có bản ghi trong đó proceed_wait = 0
.
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
Bản trình diễn trên DB Fiddle :
queue_num_curr | ast_num_curr | count(*) -------------: | -----------: | -------: 9004 | 2 | 1 9010 | 2 | 2 9010 | 3 | 1 9010 | 5 | 1
NB:Tôi nghĩ rằng trong kết quả, queue_num = 9004
phải có ast_num = 2
thay vì 1
(điều đó phải tương ứng với call_id 49c43ad
).