<数据库> substring_index函数截取字符串

substring_index(str,delim,count)
    str:要处理的字符串
    delim:分隔符
    count:计数

讲解:

如 str=www.wiki.com

则 substring_index(str,'.',1) 处理的结果是:www

substring_index(str,'.',2) 得到的结果是:www.wiki

如果count是正数,那么就是从左往右数,第N个分隔符的左边的全部内容,

如果是负数,那么就是从右边开始数,第N个分隔符右边的所有内容。

例子:

substring_index(str,'.',-2) 得到的结果为:http://wikibt.com

提问:

如果要中间的的 wiki 怎么办?

先截取从右数第二个分隔符的右边的全部内容,再截取从左数的第一个分隔符的左边的全部内容:

  substring_index(substring_index(str,'.',-2),'.',1);

例题1-SQL30 统计每种性别的人数:

题目:现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个性别的用户分别有多少参赛者,请取出相应结果。

<数据库> substring_index函数截取字符串_第1张图片

<数据库> substring_index函数截取字符串_第2张图片

 

题解:

select 
    SUBSTRING_INDEX(profile,",",-1) as gender,
    count(*) as number
from user_submit
group by gender

例题二-SQL32 截取出年龄

题目:现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个年龄的用户分别有多少参赛者,请取出相应结果。

<数据库> substring_index函数截取字符串_第3张图片​​​​​​​

 

<数据库> substring_index函数截取字符串_第4张图片

select 
    SUBSTRING_INDEX(SUBSTRING_INDEX(profile,',',-2),',',1) as age,
    count(*) as number 
from user_submit
group by age

你可能感兴趣的:(数据库,数据库,database)