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

đếm nhiều cột trong một truy vấn

Bạn có thể UNION ALL các truy vấn riêng biệt và áp dụng có điều kiện tổng hợp trên tập hợp kết quả:

select score,
       max(case when type = 'satisfaction' then count end) as satisfaction_count,
       max(case when type = 'response' then count end) as response_count,
       max(case when type = 'responder' then count end) as responder_count,
       max(case when type = 'service' then count end) as service_count             
from (
  select satisfaction_score as score, 
         count(satisfaction_score) as count, 
         'satisfaction' as type
  from j_survey_response
  where satisfaction_score != 0
  group by satisfaction_score

  union all

  select response_score,
         count(response_score) as count, 'response' as type
  from j_survey_response
  where response_score != 0
  group by response_score

  union all

  select responder_score,
         count(responder_score) as count, 'responder' as type
  from j_survey_response
  where responder_score != 0
  group by responder_score

  union all

  select service_score,
         count(service_score) as count, 'service' as type
  from j_survey_response
  where service_score != 0
  group by service_score) as t
group by score


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phân tích cú pháp JSON trong MySQL

  2. Truy vấn Rails 3 với điều kiện có số lượng liên kết

  3. Sử dụng fork trong Ruby on Rails để tạo quá trình song song

  4. Chỉ đọc bảng trong mysql

  5. 9 hàm date MySQL thực sự hữu ích và dễ nhớ