老师想把数学分数换成等级:90 及以上 'A',75 及以上 'B',60 及以上 'C',其他 'D'。从 scores 里选出数学(subject 是 'math')的 student_id、score 和等级三列。
| id | name | class | age | city |
|---|---|---|---|---|
| 1 | Amy | 1A | 12 | Leeds |
| 2 | Ben | 1A | 13 | York |
| 3 | Cara | 1B | 12 | NULL |
| 4 | Dan | 1B | 14 | Leeds |
| 5 | Eva | 1A | 12 | Hull |
| 6 | Finn | 1C | 13 | NULL |
| 7 | Gus | 1C | 12 | York |
| id | student_id | subject | score |
|---|---|---|---|
| 1 | 1 | math | 92 |
| 2 | 1 | art | 78 |
| 3 | 2 | math | 65 |
| 4 | 2 | art | 88 |
| 5 | 3 | math | 74 |
| 6 | 4 | math | 55 |
| 7 | 4 | art | 90 |
| 8 | 5 | math | 81 |
| 9 | 5 | art | NULL |
| 10 | 7 | math | 99 |
| id | name | class | age | city |
|---|---|---|---|---|
| 1 | Amy | 1A | 12 | Leeds |
| 2 | Ben | 1A | 13 | York |
| 3 | Cara | 1B | 12 | NULL |
| 4 | Dan | 1B | 14 | Leeds |
| 5 | Eva | 1A | 12 | Hull |
| 6 | Finn | 1C | 13 | NULL |
| 7 | Gus | 1C | 12 | York |
| id | student_id | subject | score |
|---|---|---|---|
| 1 | 1 | math | 92 |
| 2 | 1 | art | 78 |
| 3 | 2 | math | 65 |
| 4 | 2 | art | 88 |
| 5 | 3 | math | 74 |
| 6 | 4 | math | 55 |
| 7 | 4 | art | 90 |
| 8 | 5 | math | 81 |
| 9 | 5 | art | NULL |
| 10 | 7 | math | 99 |
SELECT student_id, score,
CASE
-- 在这里写:从高到低三个 WHEN(90、75、60),再 ELSE 'D'
END
FROM scores
WHERE subject = 'math';
写好了先点「运行」看看结果,没问题再点「提交」。