Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać obliczenia matematyczne w zapytaniu sql, aby obliczyć różnicę procentową?

Jeśli liczba odpowiedzi nie jest wcześniej znana, łatwiej byłoby podzielić tabelę pytań na 2 - jedną dla pytań (identyfikator_pytania, tekst_pytania) i jedną dla opcji (identyfikator_pytania, identyfikator_wyboru, tekst_wyboru). Tabela odpowiedzi może zostać przekształcona w (question_id, answer_id, choice_id). Następnie, wybierając go, użyjemy czegoś podobnego do następującego (QID =identyfikator pytania, które wybierasz):

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;

Wszystko to polega na zliczeniu całkowitej liczby odpowiedzi w zapytaniu wewnętrznym, a następnie dla każdego wyboru podziel liczbę odpowiedzi z tym wyborem przez sumę.



  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:Czy praktyczne jest utworzenie osobnej tabeli dla postów każdego użytkownika?

  2. Android — dane są alokowane w pokrętle, ale po wybraniu nie wyświetlają wartości w pokrętle

  3. Hibernacja:zamieszanie związane z samodołączaniem?

  4. Ansible idempotentny podręcznik instalacji MySQL

  5. pobieranie wartości z kolumny, ale zwraca wartość null?