Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo truy vấn để có được số lượng nhóm cuộc gọi chưa hoàn thành theo 2 trường

Bạn có thể tham gia vào bảng với một truy vấn tổng hợp lấy ra call_time tối thiểu par call_id của các cuộc gọi chưa hoàn thành. Cuộc gọi chưa hoàn thành là cuộc gọi không có bản ghi trong đó 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

Bản trình diễn trên DB Fiddle :

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

NB:Tôi nghĩ rằng trong kết quả, queue_num = 9004 phải có ast_num = 2 thay vì 1 (điều đó phải tương ứng với 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. WIDE bảng mysql

  2. Mysql Từ vấn đề enum đến tinyint

  3. Mô phỏng mã hóa mật khẩu () của MySql bằng .NET hoặc MS SQL

  4. MySQL GROUP BY hành vi

  5. Cách sử dụng MySQL Rollup