sql >> Databáze >  >> RDS >> Mysql

Jak bych provedl matematiku v dotazu SQL, abych vypočítal procentuální rozdíl?

Pokud není předem znám počet odpovědí, bylo by jednodušší rozdělit tabulku otázek na 2 – jednu pro otázky (id_otázky, text_zátazy) a jednu pro možnosti (id_otázky, id_výběru, text_výběru). Tabulku odpovědí lze vytvořit (id_otázky, id_odpovědi, id_výběru). Pak by se použilo něco jako následující (QID =ID otázky, kterou vybíráte):

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;

Vše, co se dělá, je spočítat celkový počet odpovědí ve vnitřním dotazu a poté pro každou volbu vydělit počet odpovědí s touto volbou celkovým počtem.



  1. Jak vybrat obsah ze dvou různých tabulek v Mysql?

  2. statement.execute() vrací chybu s lomítkem na konci PL/SQL

  3. SQLite Tutorial:Vše, co potřebujete vědět

  4. Použijte binární COPY tabulku FROM s psycopg2