sql >> Database >  >> RDS >> Mysql

Maak een query om het aantal onvoltooide oproepen op 2 velden te krijgen

U kunt de tabel samenvoegen met een geaggregeerde query die de minimale call_time ophaalt par call_id van onvoltooide oproepen. Een onvoltooid gesprek is een gesprek zonder record waarbij 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

Demo op DB Fiddle :

queue_num_curr | ast_num_curr | count(*)
-------------: | -----------: | -------:
          9004 |            2 |        1
          9010 |            2 |        2
          9010 |            3 |        1
          9010 |            5 |        1

NB:Ik denk dat in de resultaten, queue_num = 9004 moet ast_num = 2 . hebben in plaats van 1 (die moet overeenkomen met call_id 49c43ad ).




  1. Wordpress-gebruikers en usermeta - meerdere rijen in één tabel samenvoegen met één rij in een andere tabel

  2. Schakelen tussen meerdere databases in Rails zonder transacties te verbreken

  3. AES_DECRYPT() en AES_ENCRYPT() in MySQL met Poolse karakters

  4. PHP/MySQL:Markeer SOUNDS LIKE-queryresultaten