牛客网之SQL非技术快速入门(7)-字符串截取、切割、删除、替换

news2024/12/29 8:06:00

知识点:

(1)substring_indexsubstring_index(str,delim,count)

str:要处理的字符串

delim:分隔符

count:计数

(2)切割、截取、删除、替换

1

2

3

4

5

6

7

8

9

10

11

12

13

14

select

-- 替换法 replace(string, '被替换部分','替换后的结果')

-- device_id, replace(blog_url,'http:/url/','') as user_name

-- 截取法 substr(string, start_point, length*可选参数*)

-- device_id, substr(blog_url,11,length(blog_url)-10) as user_nam

-- 删除法 trim('被删除字段' from 列名)

-- device_id, trim('http:/url/' from blog_url) as user_name

-- 字段切割法 substring_index(string, '切割标志', 位置数(负号:从后面开始))

device_id, substring_index(blog_url,'/',-1) as user_name

from user_submit;

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

示例:user_submit

device_idprofileblog_url
2138180cm,75kg,27,malehttp:/url/bigboy777
3214165cm,45kg,26,femalehttp:/url/kittycc
6543178cm,65kg,25,malehttp:/url/tiger
4321171cm,55kg,23,femalehttp:/url/uhksd
2131168cm,45kg,22,femalehttp:/urlsydney
方法1:
select SUBSTRING_INDEX(profile,",",-1) gender,
count(device_id) as number
from user_submit
group by gender

方法2:
SELECT IF(profile LIKE '%female','female','male') gender,COUNT(*) number
FROM user_submit
GROUP BY gender;

方法3:
SELECT
case when profile  like '%,female' then 'female'
     when profile  like '%,male' then 'male' 
     else '其他'
     end as gender,
COUNT(*) number 
FROM user_submit
GROUP BY gender;

根据示例,你的查询应返回以下结果:

gendernumber
male2
female3

31、对于申请参与比赛的用户,blog_url字段中url字符后的字符串为用户个人博客的用户名,现在运营想要把用户的个人博客用户字段提取出单独记录为一个新的字段,请取出所需数据。

方法1:
select device_id,
       SUBSTRING_INDEX(blog_url,"/",-1) user_name
from user_submit


方法2:
-- 替换法 replace(string, '被替换部分','替换后的结果')
select
device_id, replace(blog_url,'http:/url/','') as user_name
from user_submit;


方法3:
-- 截取法 substr(string, start_point, length*可选参数*)
select
device_id, substr(blog_url,11,length(blog_url)-10) as user_name
from user_submit;
 

方法4:
-- 删除法 trim('被删除字段' from 列名)
select
device_id, trim('http:/url/' from blog_url) as user_name
from user_submit;
 

方法5:
-- 字段切割法 substring_index(string, '切割标志', 位置数(负号:从后面开始))
select
device_id, substring_index(blog_url,'/',-1) as user_name 
from user_submit;

返回以下结果:

device_iduser_name
2138bisdgboy777
3214dkittycc
6543tigaer
4321uhsksd
2131sydney

32、现在运营想要统计每个年龄的用户分别有多少参赛者,请取出相应结果

--substring_index()函数返回的是截取到多少位,不是截取第几位
select  substring_index(profile, ',', -2) as age,
count(device_id) as number
from user_submit
group by age

返回结果:

27,male

1

26,female

1

25,male

1

23,female

1

22,female

1

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

返回以下结果:

agenumber
271
261
251
231
221

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/20460.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

俺把所有粉丝显示在地图上啦~【详细教程+完整源码】

文章目录🌲小逼叨🌲爬取所有粉丝的IP所属地🌴爬者基本素养:网页分析🌴源代码🌲数据清洗和保存🌴源代码🌲绘制地图🌴源代码🌲结束语🌲小逼叨 其实昨…

windows中使用curl

curl这个工具在linux和macOS都经常使用,感觉挺实用的。在windows中默认也带了一个但是用起来不太一样,于是就想自己手动安装一个原汁原味的curl。 下载安装 https://curl.se/windows/ 下载适合自己平台的版本,解压就可以直接运行了。 比如…

剑指 Offer II 026. 重排链表【链表】

难度等级:中等 上一篇算法: 剑指 Offer II 021. 删除链表的倒数第 n 个结点【链表】 力扣此题地址: 剑指 Offer II 026. 重排链表 - 力扣(LeetCode) 1.题目:重排链表 给定一个单链表 L 的头节点 head &…

Linux用户和权限学习笔记

认识root用户 什么是root用户 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中,拥有最大权限的账户名为:root(超级管理员)而在前期,我们一直使用的账户是普通账户:itheim…

《Android Studio开发实战 从零基础到App上线(第3版)》出版后记

2018年11月,经过熬夜写作的《Android Studio开发实战 从零基础到App上线(第2版)》正式出版面世。承蒙众多读者的厚爱,第2版的图书在此后的三年多时间,一直保持在移动开发图书的销量排行榜前列,迄今为止京东对该书的评价已达8000多…

设计模式基础-概括

目录 一、设计原则 二、设计模式分类 1、创建型模式:创建对象 2、结构型模式:更大的结构 3、行为型模式:交互以及职责分配 4、对象模式与类模式区别 三、各类型模式简介 1、创建型模式 2、结构型模式 3、行为型模式 一、设计原则 …

JAVA中Function的使用

JAVA中Function的使用一、方法介绍参数类型方法介绍源码二、demo参考: https://blog.csdn.net/boyan_HFUT/article/details/99618833 一、方法介绍 表示接受一个参数并产生结果的函数。 参数类型 T - 函数输入的类型R - 函数的结果类型 方法介绍 R apply(T t) …

【毕业设计】45-基于单片机的智能温度/超温报警计的系统设计(原理图工程+仿真工程+源代码+答辩论文+答辩PPT)

【毕业设计】45-基于单片机的智能温度/超温报警计的系统设计(原理图工程仿真工程源代码答辩论文答辩PPT) 文章目录【毕业设计】45-基于单片机的智能温度/超温报警计的系统设计(原理图工程仿真工程源代码答辩论文答辩PPT)资料下载链…

Vue 路由

参考文献:Vue中的路由 目录:一、路由理解:二、路由管理器理解:三、路由的使用:四、嵌套路由:五、路由传参:1.query传参:2. params传参:六、编程式路由导航:七、响应路由参…

数字孪生技术有没有真正的实用价值?

作为一个数字孪生领域的技术公司负责人,我尽可能用比较直白的话来描述一下我对数字孪生行业以及数字孪生价值的理解。 纵观数字孪生相关的公司,主要有两个流派,一派是具有互联网基因的数字孪生创业公司,一派是在工业软件领域实力…

ConfigurableListableBeanFactory和BeanDefinitionRegistry关系

前言 :在查看springBoot源码的过程中,遇到了这个问题,上网查了一些资料,理解了一些,这里顺便把这个问题给记录一下。 在springBoot调用Refresh方法里面 ,有一个叫invokeBeanFactoryPostProcessors的方法【…

HIve数仓新零售项目ODS层的构建

HIve数仓新零售项目 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark Flink Kaf…

WindowsPE(二)空白区添加代码新增,扩大,合并节

空白区添加代码 在 PE 中插入一段调用 MessageBox 的代码。 获取MessageBox地址,构造ShellCode代码 利 OD 定位出 MessageBoxA 函数的地址为 0x77D507EA 。 构造 shellcode : unsigned char shellcode[] {0x6A, 0x00, // pus…

ORB-SLAM2 ---- Initializer::ReconstructF函数

目录 1.函数作用 2.函数解析 2.1 调用函数解析 2.2 Initializer::ReconstructF函数总体思路 2.2.1 代码 2.2.2 总体思路解析 2.2.3 根据基础矩阵和相机的内参数矩阵计算本质矩阵 2.2.4 从本质矩阵求解两个R解和两个t解,共四组解 2.2.5 分别验证求解的4种…

准备面试题【面试】

前言 写作于 2022-11-13 19:27:08 发布于 2022-11-20 16:34:44 准备 程序员囧辉 我要进大厂 面试阿里,HashMap 这一篇就够了 Java 基础高频面试题(2022年最新版) 问遍了身边的面试官朋友,我整理出这份 Java 集合高频面试题…

【mysql】mysql 数据备份与恢复使用详解

一、前言 对一个运行中的线上系统来说,定期对数据库进行备份是非常重要的,备份不仅可以确保数据的局部完整性,一定程度上也为数据安全性提供了保障,设想如果某种极端的场景下,比如磁盘损坏导致某个时间段数据丢失&…

什么是Spring,Spring的核心和设计思想你了解吗?

目录 1.初识Spring 1.1 什么是容器 1.2 什么是IoC 2.什么是IoC容器. 2.1 什么是DI 哈喽呀,你好呀,欢迎呀,快来看一下这篇宝藏博客吧~~~ 1.初识Spring Srping指的是Spring Framework(Spring 框架).我们经常会听见框架二字,其中java中最最主流的框架当属Spring.Spring是一…

SAP S4 FI后台详细配置教程- PART4 (科目及税费相关配置篇)

目录 1、总帐科目 1.1编辑科目表清单 1.2 科目表分配给公司代码 1.3 定义科目组 1.4 定义留存收益科目 2、销售/购置税 2.1 维护销售/购置税务代码税率 2.2 配置销项/销项税会计科目 大家好本篇是:SAP S4 FI后台详细配置教程- PART4 (科目及税…

Fiddler的安装和使用

文章目录1、Fiddler的安装2、Fiddler的使用3、抓包工具的原理1、Fiddler的安装 官网链接:https://www.telerik.com/fiddler 进入官网首页 页面跳转后 2、Fiddler的使用 下载好后直接安装,安装后打开,它就会自动抓取HTTP包,在左…

[附源码]SSM计算机毕业设计-东湖社区志愿者管理平台JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…