sql >> Database teknologi >  >> RDS >> Mysql

Opret forespørgsel for at få optællingen af ​​uafsluttede opkald grupperet efter 2 felter

Du kan slutte dig til tabellen med en samlet forespørgsel, der henter den mindste call_time par call_id af uafsluttede opkald. Et uafsluttet opkald er et opkald, der ikke har nogen registrering, hvor 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 på DB Fiddle :

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

NB:Jeg tror, ​​at queue_num = 9004 i resultaterne skal have ast_num = 2 i stedet for 1 (det skal svare til call_id 49c43ad ).




  1. gemmer tal som varchar

  2. Kan ikke oprette forbindelse til MySQL-server på (ip eller domænenavn)

  3. Hvordan returnerer jeg heltal og numeriske kolonner fra MySQL som heltal og numeriske i PHP?

  4. .NET CORE MySql MaxPoolSize ikke anvendt i