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

Làm cách nào để thực hiện phép toán trong một truy vấn sql để tính toán phần trăm chênh lệch?

Nếu không biết trước số câu trả lời, sẽ đơn giản hơn nếu chia bảng câu hỏi thành 2 - một cho các câu hỏi (question_id, question_text) và một cho các lựa chọn (question_id, choice_id, choice_text). Bảng câu trả lời có thể được tạo thành (question_id, answer_id, choice_id). Sau đó, chọn nó sẽ được sử dụng như sau (QID =ID của câu hỏi bạn đang chọn):

SELECT choice,
       (COUNT(*) / (SELECT COUNT(*)
                    FROM answers
                    WHERE answers.question_id = QID)) * 100 AS percentage
FROM choices
     INNER JOIN answers
       ON choices.choice_id = answers.choice_id
       AND choices.question_id AND choices.question_id
WHERE choices.question_id = QID
GROUP BY choice_id;

Tất cả những việc này là đếm tổng số câu trả lời trong truy vấn bên trong, sau đó đối với mỗi lựa chọn, hãy chia số câu trả lời có lựa chọn đó cho tổng số.



  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 biệt các bản sao trong vòng lặp foreach với sql

  2. Tham chiếu không xác định đến các thư viện MySQL sử dụng g ++

  3. Kết nối MySQL và HBase

  4. Chức năng Mở ngay bây giờ cụ thể của múi giờ

  5. Cách truy xuất tập hợp dữ liệu lớn trên nhiều bảng và tránh truy vấn lặp lại