#通过身份证获取性别
case
when length(idcard) = 15 and mod(substring(idcard,15,1),2) = 0 then '女'
when length(idcard) = 15 and mod(substring(idcard,15,1),2) = 1 then '男'
when length(idcard) = 18 and MOD(substring(idcard,17,1),2) = 0 then '女'
when length(idcard) = 18 and MOD(substring(idcard,17,1),2) = 1 then '男'
连接类
union all # 连接两张表格
组内排序
例如:每个客户产生n个订单,对每个订单进行排序;
思路:设置两个变量,一个用来计数,一个用来判定是等于上一个用户user_id,若等于,id+1;否则为1;
设置变量技巧:
1、初始化:join (select @area_code := '', @id := 0) as m
2、添加判断条件::@id := if(@area_code = user_id ,@id+1,1) as id
3、每次给变量赋值:@area_code := user_id
select user_id
, gmt_create
, @id := if(@area_code = user_id ,@id+1,1) as id -- 自增判断
, @area_code := user_id -- 每次赋值
from
(
select *
from t_order_info
join (select @area_code := '', @id := 0) as m -- 初始化
group by user_id,gmt_create
) as a