Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utwórz zapytanie, aby uzyskać liczbę nieukończonych połączeń pogrupowanych według 2 pól

Możesz dołączyć do tabeli za pomocą zapytania zbiorczego, które pobiera minimalny call_time par call_id niedokończonych połączeń. Nieukończone połączenie to połączenie, które nie ma wpisu, gdzie 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 na DB Fiddle :

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

NB:Myślę, że w wynikach queue_num = 9004 powinien mieć ast_num = 2 zamiast 1 (to powinno odpowiadać 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. Najlepsze praktyki dotyczące długości kolumny varchar SQL

  2. Przenoszenie niektórych obiektów z jednej bazy danych do innej

  3. Dlaczego połączenie MySQL jest blokowane z powodu wielu błędów połączenia?

  4. Wygląda na to, że nie mogę połączyć mojej strony PHP z serwerem testowym SQL i bazą danych

  5. Eksportowanie danych MYSQL do Excela/CSV przez php