0

q1、q2、q3の列を持つデータのテーブルがあります

データは次のようになります

q1    q2    q3
1     1     2
1     2     1
2     3     1

したがって、ユーザーからの送信ごとに 1 つのレコードがあり、この 1 つのレコードには質問 1、2、および 3 に対する回答が含まれています。これはおそらく、私がやりたいことに最適なテーブル設計ではありません! 各質問からカウントとパーセントを取得したい

結果セットは次のようになります

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

これは 1 つのクエリで実行できますか、それとも 3 つの個別のクエリにする必要がありますか?

4

1 に答える 1

0

私の理解によると、このクエリは、質問をさらに説明するよりも、必要なものを返します。これを試して:

SELECT questionNum, responseNum, `count`,
       FLOOR(`count` * 100 / (SELECT SUM(`count`) FROM question WHERE questionNum = b\q.questionNum)) percent
FROM question q
于 2012-11-28T06:38:05.520 に答える