回答編集履歴
2
用語修正
answer
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
scoreが9点以上の場合はそのままscoreの値、そうでない場合は0とするカラムを返すサブクエリを作り、それをquestion_idごとにsum()関数で集計するクエリを作れば良いです。
|
2
|
-
`case`
|
2
|
+
`case`文を使用します。case文はとても便利で、様々な応用が効きます。
|
3
3
|
|
4
4
|
mysql8.0以上限定
|
5
5
|
```sql
|
1
集計方法の読み違えがあったので修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
scoreが9点以上の場合は
|
1
|
+
scoreが9点以上の場合はそのままscoreの値、そうでない場合は0とするカラムを返すサブクエリを作り、それをquestion_idごとにsum()関数で集計するクエリを作れば良いです。
|
2
2
|
`case`句を使用します。case句はとても便利で、様々な応用が効きます。
|
3
3
|
|
4
4
|
mysql8.0以上限定
|
@@ -7,7 +7,7 @@
|
|
7
7
|
select
|
8
8
|
id
|
9
9
|
,question_id
|
10
|
-
,case when score >= 9 then
|
10
|
+
,case when score >= 9 then score else 0 end as target -- ここが重要
|
11
11
|
from answers
|
12
12
|
)
|
13
13
|
select
|
@@ -27,7 +27,7 @@
|
|
27
27
|
select
|
28
28
|
id
|
29
29
|
,question_id
|
30
|
-
,case when score >= 9 then
|
30
|
+
,case when score >= 9 then score else 0 end as target
|
31
31
|
from answers
|
32
32
|
) as q1
|
33
33
|
group by question_id
|