我正在为学生提供表格。我想给出成绩。我正在研究Oracle数据库。
如果标记大于60则为“A”,如果标记小于35则失败,如果标记大于40且小于50则为“C”,如果标记大于50且小于60则为“B” ”
答案 0 :(得分:2)
SELECT id, name, last_name,
( CASE WHEN mark >= 60 THEN 'A'
WHEN mark >= 50 THEN 'B'
WHEN mark >= 40 THEN 'C'
WHEN mark < 35 THEN 'F'
ELSE '?'
END ) grade
FROM students;
顺便说一下,没有关于35&amp;之间标记的信息。 40,我也承担了平等。
答案 1 :(得分:1)
您的逻辑还需要弄清楚如何处理60,50等。目前您不在逻辑中包含这些内容。如果例如60以上是A,那么您需要marks >= 60
CASE
WHEN marks > 60 THEN 'A'
WHEN marks > 50 and marks < 60 THEN 'B'
WHEN marks > 40 and marks < 50 THEN 'C'
WHEN marks < 35 THEN 'fail'
END