Mysql
 sql >> база данни >  >> RDS >> Mysql

Как бих изпълнил математика в рамките на sql заявка, за да изчисля процентната разлика?

Ако броят на отговорите не е известен предварително, би било по-лесно да разделите таблицата с въпроси на 2 - една за въпросите (question_id, question_text) и една за избор (question_id, choice_id, choice_text). Таблицата с отговори може да се превърне в (question_id, answer_id, choice_id). След това избирането му би използвало нещо като следното (QID =ID на въпроса, който избирате):

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;

Всичко, което прави, е да преброи общия брой отговори във вътрешната заявка, след което за всеки избор да разделите броя на отговорите с този избор на общия брой.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP код за вмъкване на стойност в квадратчето за отметка в конкретна колона на mysql с форма за избор

  2. Защо тази проста MySQL заявка не връща реда?

  3. MySQL - достъпът е отказан за потребителя

  4. Запазване на грешка в MySQL база данни

  5. рестартирайте mysql сървъра на windows 7