Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Buat kueri untuk mendapatkan jumlah grup panggilan yang belum selesai dengan 2 bidang

Anda dapat menggabungkan tabel dengan kueri agregat yang mengambil call_time minimum par call_id dari panggilan yang belum selesai. Panggilan yang belum selesai adalah panggilan yang tidak memiliki catatan di mana 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 di DB Fiddle :

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

NB:Menurut saya di hasil, queue_num = 9004 harus memiliki ast_num = 2 bukannya 1 (yang harus sesuai dengan 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. Bagaimana cara kerja KASUS MySQL?

  2. Berapa kisaran maksimum varchar di MySQL?

  3. Fungsi MySQL CEILING() – Membulatkan ke Integer Terdekat

  4. MySQL LEFT JOIN hanya 1 baris tergantung pada nilai MAX()

  5. MYSQL GROUP BY dan ORDER BY tidak bekerja sama seperti yang diharapkan