-- 简单CASE表达式CASE sex
WHEN1THEN'男'WHEN2THEN'女'ELSE'保密'END-- 搜索CASE表达式CASEWHEN sex=1THEN'男'WHEN sex=2THEN'女'ELSE'保密'END
注意事项:
各分支返回的数据类型必须一致;
结尾一定要写 END;
养成写 ELSE 子句的习惯(否则返回 NULL);
二、 常用场景
1,按属性分组统计
如:已有全国各市区人口数,统计各省总人口数
id
city
population
1
南昌市
656
2
九江市
454
3
宜春市
495
4
合肥市
800
5
芜湖市
373
6
蚌埠市
330
7
长沙市
1005
8
株洲市
390
9
北京市
2185
province
总人口
江西省
1605
安徽省
1503
湖南
1395
其它
2185
SELECTCASEWHEN city IN('南昌市','九江市','宜春市')THEN'江西省'WHEN city IN('合肥市','芜湖市','蚌埠市')THEN'安徽省'WHEN city IN('长沙市','株洲市')THEN'湖南'ELSE'其它'ENDAS province,SUM(population)AS'总人口'FROM`city_pop`GROUPBY province
// group by 为严格模式(sql_mod=ONLY_FULL_GROUP_BY)时,// select查询的列,要么在group by中声明,要么通过聚合函数包装(此处用了max)SELECT name,CASEWHENCOUNT(*)>1THENMAX(CASEWHEN flag =1THEN club ELSENULLEND)ELSEMAX(club)ENDAS main_club
FROM club
GROUPBY name
三、CASE表达式出现的位置
作为表达式,在执行时会被判断为一个固定值,因此不仅可以在SELECT子句中使用,还可以在WHERE子句、GROUP BY 子句、ORDER BY 子句中使用,它甚至可以写在聚合函数内部。 简单点来说,在能写列名和常量的地方,通常都可以写CASE表达式。
深度学习基准模型Transformer
深度学习基准模型Transformer,最初由Vaswani等人在2017年的论文《Attention is All You Need》中提出,是自然语言处理(NLP)领域的一个里程碑式模型。它在许多序列到序列(seq2seq…