teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

用語修正

2021/05/21 15:50

投稿

hope_mucci
hope_mucci

スコア4447

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  scoreが9点以上の場合はそのままscoreの値、そうでない場合は0とするカラムを返すサブクエリを作り、それをquestion_idごとにsum()関数で集計するクエリを作れば良いです。
2
- `case`を使用します。caseはとても便利で、様々な応用が効きます。
2
+ `case`を使用します。caseはとても便利で、様々な応用が効きます。
3
3
 
4
4
  mysql8.0以上限定
5
5
  ```sql

1

集計方法の読み違えがあったので修正

2021/05/21 15:50

投稿

hope_mucci
hope_mucci

スコア4447

answer CHANGED
@@ -1,4 +1,4 @@
1
- scoreが9点以上の場合は1、そうでない場合は0とするカラムを返すサブクエリを作り、それをquestion_idごとにsum()関数で集計するクエリを作れば良いです。
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 1 else 0 end as target -- ここが重要
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 1 else 0 end as target
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