Fonction de cas [Démarrage rapide de MYSQL]

fonction cas :

est une fonction multi-branches qui renvoie l'une des nombreuses expressions de résultat possibles en fonction de la valeur d'une liste de conditions.

Fonction de cas simple :

case 测试表达式
when 简单表达式1 then 结果表达式1
when 简单表达式2 then 结果表达式2..
when 简单表达式3 then 结果表达式n
[else 结果表达式n+1]

Exemple : recherchez le numéro de classe, le nom de la classe, le numéro de département et le numéro d'enseignant de la classe des élèves dans la table de classe, et traitez le numéro de département comme suit :

Lorsque le numéro de série est 1, il affiche "Département informatique" ; lorsque le numéro de série est 2, il affiche "Département d'ingénierie logicielle" ; lorsque le numéro de système est 3, il affiche "Département Internet des objets"

select 班号,班名 case 系号
when 1 then ‘软件工程系’
when 2 then '计算机系'
when 3 then '物联网系'
end as 系号,班主任号
from 班级表

Fonction de recherche de cas :

case
when 布尔表达式1 then 结果表达式1
when 布尔表达式2 then 结果表达式2...
when 布尔表达式3 then 结构表达式n
[else 结果表达式n+1]
end

Exemple : Interroger les résultats 101 et les afficher sous forme de note 

select 学号,课程号,
case
when 成绩>=90 then‘优’
when 成绩 between 80 and 90 then'良'
when 成绩 between 70 and 79 then'中'
when 成绩 between 60 and 69 then'及格'
when 成绩<60 then'不及格'
end 成绩
from 成绩表
where 课程号='101';

 Exemple : Compter le nombre de garçons et de filles dans chaque classe. L'en-tête des résultats statistiques est : numéro de classe, nombre de garçons, nombre de filles

select 班号,
count(case when 性别='男' then '男' end)男生数
count(case when 性别='女' then'女' end)女生数
from 学生表 group by 班号;

 Exemple : Pour juger de la note de réussite et compter le nombre de personnes à chaque note.

select 
case 
when grade between 85 and 100 then '优'
when grade between 70 and 84 then'良'
when grade between 60 and 69 then'及格'
else '不及格'
end 等级,count(*)人数
from tb
group by  等级;

 

select case when age<25 or age is null then '25岁以下'
            when age>=25 then '25岁及以上'
            end age_cut,count(*)number
            from user_profile
            group by age_cut
            

 

select device_id,gender,
case 
when age>=25 then '25岁及以上'
when age>=20 then '20-24岁'
when age<20 then '20岁以下'
else '其他'
end as age_cut
from user_profile

 

Je suppose que tu aimes

Origine blog.csdn.net/m0_52043808/article/details/124202656
conseillé
Classement