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

Làm cách nào tôi có thể nhận được tập hợp kết quả không trống khi sử dụng tính năng chọn, nhóm theo và đếm?

Hãy thử một cái gì đó như:

SELECT a.status AS ct_reconcile_status,
       (IFNULL(b.sch_change_status_num,0) + a.num) AS sch_change_status_num
FROM
  (SELECT 'SUCCESS' AS status, 0 AS num
   UNION
   SELECT 'FAILED', 0) a
LEFT JOIN
  (SELECT status.ct_reconcile_status, 
          COUNT(status.ct_reconcile_status) AS sch_change_status_num 
   FROM   db_crewops_cm_action status 
   WHERE  status.ct_reconcile_status IN ( 'SUCCESS', 'FAILED' ) 
          AND status.updated_ts > UTC_TIMESTAMP() - INTERVAL 60 minute 
   GROUP  BY status.ct_reconcile_status) b
ON a.status = b.ct_reconcile_status

Bạn có thể xóa status.ct_reconcile_status IN ( 'SUCCESS', 'FAILED' ) AND , nhưng điều này có thể chậm hơn.




  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 chuyển đổi từ UTC sang IST

  2. Các id tiếp theo / trước của MySQL (thứ tự sắp xếp tùy ý)

  3. Tệp khóa MySQL không chính xác cho bảng tmp khi thực hiện nhiều phép nối

  4. Google AppEngine ImportError:mô-đun động không xác định hàm init (init_mysql)

  5. MYSQL - CHỌN dữ liệu từ tên bảng động