问题描述
问题分析
这是一个简单的查询,问题出在要在一个属性中,将需要的信息截取出来。下面这个方法可以完成此操作。
方法1
select substring_index(profile,",",-1) as gender,count(*) as number
from user_submit
group by gender;
方法2
CASE + LIKE 方法
select
case
when profile like '%,male' then 'male'
when profile like '%,famale' then 'female'
else '其他'
end as gender,
count(*) as number
from user_submit
group by gender;
知识点总结:
-
substring_index(FIELD, sep, n)可以将字段FIELD按照sep分隔:
(1).当n大于0时取第n个分隔符(n从1开始)左边的全部内容;
(2).当n小于0时取倒数第n个分隔符(n从-1开始)右边的全部内容; -
case when then end 流程控制函数