mysql CASE WHEN s_score >= 60 THEN 1 ELSE 0
时间: 2023-05-20 17:04:45 浏览: 154
可以使用以下语句实现:
SELECT CASE WHEN s_score >= 60 THEN 1 ELSE 0 END AS pass FROM student_scores;
其中,s_score 是学生的分数,student_scores 是包含学生分数的表。这个语句会返回一个名为 pass 的列,其中包含每个学生是否通过考试的信息。如果学生的分数大于等于 60 分,则 pass 列中的值为 1,否则为 0。
相关问题
MySQL1.根据定义的分数score变量,判定当前分数对应的分数等级。 score >= 85分,等级为优秀。 score >= 60分 且 score < 85分,等级为及格。 score < 60分,等级为不及格。 2.根据传入参数score,判定当前分数对应的分数等级,并返回。 score >= 85分,等级为优秀。 score >= 60分 且 score < 85分,等级为及格。 score < 60分,等级为不及格。 3.通过触发器记录 tb_user 表的数据变更日志,将变更日志插入到日志表user_logs中, 包含增加,修改 , 删除 ; 表结构准备: -- 准备工作 : 日志表 user_logs
好的,您的问题是关于MySQL语句的。第一个问题是关于分数等级的判定,以下是MySQL语句示例:
```
SELECT
CASE
WHEN score >= 85 THEN '优秀'
WHEN score >= 60 AND score < 85 THEN '及格'
ELSE '不及格'
END AS grade
FROM
your_table;
```
第二个问题是根据传入的参数score返回对应的分数等级,以下是MySQL语句示例:
```
CREATE FUNCTION get_grade(score INT)
RETURNS VARCHAR(10)
BEGIN
DECLARE grade VARCHAR(10);
IF score >= 85 THEN
SET grade = '优秀';
ELSEIF score >= 60 AND score < 85 THEN
SET grade = '及格';
ELSE
SET grade = '不及格';
END IF;
RETURN grade;
END;
```
第三个问题是通过触发器记录表的数据变更日志,以下是MySQL语句示例:
```
CREATE TRIGGER user_logs_trigger
AFTER INSERT, UPDATE, DELETE ON tb_user
FOR EACH ROW
BEGIN
DECLARE action VARCHAR(10);
IF NEW.id IS NOT NULL AND OLD.id IS NULL THEN
SET action = '新增';
ELSEIF NEW.id IS NOT NULL AND OLD.id IS NOT NULL THEN
SET action = '修改';
ELSEIF NEW.id IS NULL AND OLD.id IS NOT NULL THEN
SET action = '删除';
END IF;
INSERT INTO user_logs (user_id, action, time) VALUES (NEW.id, action, NOW());
END;
```
mysql case when else_MySQL 函数 - case when then else end
MySQL中的CASE函数可以在查询语句中根据条件值来返回不同的结果。它的语法格式如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,`condition`是一个条件表达式,如果满足该条件表达式则返回对应的`result`,否则继续判断下一个`condition`,如果所有`condition`都不满足,则返回`default_result`。
例如,假设我们有一个学生成绩表,包含学生姓名和成绩,我们可以使用`CASE`函数来将成绩转换为对应的等级:
```
SELECT
name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM
student_scores;
```
在上面的例子中,如果成绩大于等于90,则返回A,否则继续判断下一个条件,以此类推。最后,如果所有条件都不满足,则返回F。
阅读全文