Mysql
 sql >> база данни >  >> RDS >> Mysql

Създайте заявка, за да получите групата на незавършените обаждания по 2 полета

Можете да се присъедините към таблицата с обобщена заявка, която извлича минималното call_time пар call_id на незавършени обаждания. Незавършено обаждане е обаждане, което няма запис, където 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

Демо на DB Fiddle :

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

NB:Мисля, че в резултатите queue_num = 9004 трябва да има ast_num = 2 вместо 1 (което трябва да съответства на call_id 49c43ad ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Странна грешка в MySQL само за четене

  2. използвайки mysqli за предотвратяване на инжектиране на sql, как да задам NULL или CURRENT_DATE?

  3. Може да има само една автоматична колона

  4. Възстановяване след грешна заявка за актуализиране на MySQL?

  5. Грешка в колоната не е позволено при вмъкване на редове, използващи стойности на последователност