1

私はSQLに非常に慣れておらず、SQLクエリを機能させるのに問題があります。

1から4までの数字を含む回答のリストがあります。例:

質問1にはデータQ1が含まれています:1,2,1,3,4,1,2,3,4,2

私がする必要があるのは、1と2がいくつあるかを数え、それらを合計して、その数を平均することです。上記の例のように、6つの1と2の合計があるカウントがあり、それを平均の合計数で除算します。6/10 = .6(まあ、それが理にかなっているといいのですが)

私はこのコードを試してきましたが、数値を合計してから合計で割っています。

Select avg(q1) as avg
From db
Where q1 between 1 and 2
And call = 55817

上記の例のように、これを実行しています。1+2+1+1+2+2=9/10 = .9もう一度、1と2がいくつあるかを「カウント」する必要がある場合です。

4

2 に答える 2

3

SQLite固有のソリューションについては、次のことを試してください。

SELECT AVG(q1 IN (1, 2)) AS youravg
FROM db
WHERE call = 55817

オンラインで動作することを確認してください:sqlfiddle

より標準的なSQLソリューションの場合は、次のようにすることをお勧めします。

SELECT AVG(CASE WHEN q1 IN (1, 2) THEN 1 ELSE 0 END) AS youravg
FROM db
WHERE call = 55817
于 2012-07-25T23:55:11.450 に答える
0

1と2でSELECTを実行してから、COUNT関数を使用してみませんか?

カウント

于 2012-07-25T23:58:56.710 に答える