一.空字段赋值
1.函数说明
2.测试表如下
3.如果某一列某一行的值为 null ,则用-1代替
4.或者这样用
当年份为 null 时,输出年份对应的地址:
二.case when then end
这里新建一张表:
select variety,
sum(case year when 1931 then 1 else 0 end) var_1931,
sum(case year when 1932 then 1 else 0 end) var_1932
from barley2
group by variety;
这里也可以写成 case when year=1931。
做到这种效果:
三.行转列
这里有一张表:
concat
函数:
select collect_set(xingzuo) as AfterConcat from contract;
做到去重的效果
select t1.c_b,collect_set(name)
from(select concat_ws(",",xingzuo,num) as c_b,name from contract) as t1
group by t1.c_b;
select t1.c_b,collect_set(name)[0]
from(select concat_ws(",",xingzuo,num) as c_b,name from contract) as t1
group by t1.c_b;
select t1.c_b,concat_ws("|",collect_set(name))
from(select concat_ws(",",xingzuo,num) as c_b,name from contract) as t1
group by t1.c_b;
目的达到。
四.列转行
列转行就是行转列的反过来啦~
持续更新~