1

質問番号と回答データを含むデータのテーブルがあります。

各質問の各オプションの回答数と、それが何パーセントを表しているかを取得できる必要があります。

たとえば、データは次のようになります

questionNum   ResponseNum
1             1
1             2
1             2
1             2
1             3
2             1
2             1
2             2

....そして、これはクエリからの結果を与えるはずです

questionNum     responseNum   count   percent
1               1             1       20
1               2             3       60
1               3             1       20
2               1             2       66
2               2             1       33

クエリを実行して各応答の数を取得できますが、パーセンテージを取得する方法がわかりません。

誰でもここで助けてもらえますか?

どうもありがとう

4

1 に答える 1

4
SELECT a.questionNum, a.responseNum,
        COUNT(*) `count`,
        (COUNT(*) / b.totalCOunt) * 100 Percentage
FROM   table1 a
       INNER JOIN 
        (
          SELECT questionNum, COUNT(*) totalCOunt
          FROM table1
          GROUP BY questionNum
        ) b ON a.questionNUm = b.questionNum
GROUP BY questionNum, responseNum

追加機能を追加することもできますFLOOR

SELECT a.questionNum, a.responseNum,
        COUNT(*) `count`,
        FLOOR((COUNT(*) / b.totalCOunt) * 100) Percentage
FROM   table1 a
       INNER JOIN 
        (
          SELECT questionNum, COUNT(*) totalCOunt
          FROM table1
          GROUP BY questionNum
        ) b ON a.questionNUm = b.questionNum
GROUP BY questionNum, responseNum
于 2012-11-22T13:38:02.380 に答える