函数 | 功能 |
---|---|
LOCATE(substr , str ) | 返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0 |
POSITION(substr IN str ) | 返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同 |
LEFT(str, length) | 从左边开始截取str,length是截取的长度 |
RIGHT(str, length) | 从右边开始截取str,length是截取的长度 |
SUBSTRING_INDEX(str ,substr ,n) | 返回字符substr在str中第n次出现位置之前的字符串 |
SUBSTRING(str ,n ,m) | 返回字符串str从第n个字符截取到第m个字符 |
REPLACE(str, n, m) | 将字符串str中的n字符替换成m字符 |
LENGTH(str) | 计算字符串str的长度 |
下面举个例子说明一下
描述:
题目:现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个性别的用户分别有多少参赛者,请取出相应结果
device_id | profile | blog_url |
---|---|---|
2138 | 180cm,75kg,27,male | http:/url/bigboy777 |
3214 | 165cm,45kg,26,female | http:/url/kittycc |
6543 | 178cm,65kg,25,male | http:/url/tiger |
4321 | 171cm,55kg,23,female | http:/url/uhksd |
2131 | 168cm,45kg,22,female | http:/urlsydney |
根据示例,你的查询应返回以下结果:
gender | number |
---|---|
male | 2 |
female | 3 |
对应的SQL如下:
select substring_index(profile,',',-1) as gender,count(0) as number
from user_submit
group by gender