MySQL——单行处理函数和多行处理函数

news2024/11/29 11:49:37

数据处理函数:

单行处理函数:一个输入对应一个输出

多行处理函数:多个输入对应一个输出

单行处理函数:

将大写转换为小写:lower(); select lower(ename) as ename from emp;

将小写转换为大写:upper(); select upper(ename) from emp;

截取字符串:substr(被截取字符串名字,截取位置下标,截取长度);注意:截取位置下标是从1 开始,不是 0!

select substr(ename,1,3) from emp;

我们利用substr 来查询第一个字母为A的名字:select ename from emp where substr(ename,1,1)='A';

让员工姓名首字母小写:select concat(lower(substr(ename,1,1)),substr(ename,2,length(ename)-1)) as newname from emp;

连接两个字符串:concat(字符串1,字符串2);

算字符串长度:length();

去除前后空格:trim();

当我们用trim就可以避免这个问题:

四舍五入:round(要四舍五入的数据,保留小数位数)

select 后面可以根 字段名(相当于变量名)也可以跟字面量/字面值(数据)

生成随机数:rand();

select rand() from emp;

rand()配合round()使用:

select round(rand()*100,0) from emp;

可以将null转换为想要的数:ifnull(字段,如果字段为null需要让其变成的数)

注意:在数据库运算当中,任何数于null进行数学运算的时候结果都是null

当这俩个字段的数据求和运算的时候,当某一个对应的数据为null的时候,不想其为null,所以可以将其变成想要变成的数!!!

case ......when......then........when.........then.......else.......end

当你是什么的情况下,如果是.......就.......如果是........就........否则.......结束

select ename,job,sal,(case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 else sal end) as result from emp;

 


 

分组函数(多行处理函数):

分组函数:必须是先分组后才能查询,分组用group by ,当没有group by 的时候,默认整张表为一组

没有分组之前不能用分组函数!!!

总览:

计数:count()

求和:sum()

平均数:avg()

最大值:max()

最小值:min()

注意:

1.分组函数自动忽略NULL,当数据当中有NULL的时候,自动跳过。

本来总共有14个数据,但最后只有4个!

2.count(*) 和count(具体字段)的区别:

‘*’:代表使用代表着一行当中所有的字段

因为没有group by ,一张表只有一个组,所以只要一行当中的数据有一个不为NULL,那么这一行数据就有效。

3.分组函数不能使用在where 当中,因为在select.....from .....where......group by.......having.......order by.....当中先是from ,然后是where ,然后是group by ,之后是having ,然后是select 最后是order by.

因为分组函数是先分组后才能使用,where 在group by 之前,那个时候group by 还没有分组,所以不能使用在where 当中!

4.所有的分组函数可以同时使用:

分组查询:

假如先给每个部门分组,然后再求每个部门的平均工资:

那我们可以加一个ename 吗?我们知道这个是毫无意义的,这个算的每个部门的平均工资,显然加上ename 毫无意义。

在mysql57 版本还能运行,在mysql80和oracle数据库当中就会报错!!!

所以在查询语句当中含有group by ,那么select 后只能跟 参与分组的字段,分组函数,其他的字段不行!!!

在select deptno,avg(sal) from emp group by deptno;当中deptno是参与分组的字段,avg(sal)是分组函数。

根据不同多个的字段进行分组:

查询不同部门,不同岗位下的最高工资:

select deptno,job,max(sal) from emp group by deptno,job order by deptno;

having 必须是和group by 连用的,是对group by 进行补充的,因为有时候where 不能分组函数,所以不能解决,这个时候having 的作用就来了!

如果说where 和having同时能解决,优先使用where ,这样效率更高!

例如:找出每个部门的平均薪资,然后要求显示平均薪资高于2500的!

平均薪资这个时候要用分组函数,而且还有选择判断大于2500,这个时候where 就不行了,用having就刚刚好!

distinct 关键字

distinct:原表记录不会被修改,只是会去重。

注意:distinct 只能写在所有字段的最前面,不能只写在某一个字段的前面!

例如:当俩个字段的时候,就是结合俩个字段进行去重!

同时:distinct 也可以结合 分组函数进行使用:select count(distinct job,deptno) from emp;

 

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

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

相关文章

软件测试工作中需要使用的工具

作为一个测试人员在日常工作中会使用到很多的工具,今天给大家分享一下这些工具。对软件测试、接口、自动化、性能测试和日常文档编写办公有帮助的网站。 接口测试大力推荐国产的接口测试工具:apipost,apipost还是一款很不错的接口文档生产工…

本地PC机通过SSH方式远程Jetson

1. 检测电脑是否安装openSSH 以管理员身份运行powershell终端输入以下命令: Get-WindowsCapability -Online | ? Name -like OpenSSH*若没有安装OpenSSH,会出现如下图提示: 输入Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.…

数智化,如何驱动高校的产教融合

高校数智驱动是指通过运用先进的技术和智能化的手段,推动高校的发展和创新。这包括利用大数据分析、人工智能、物联网等技术来提高高校的管理效率、教学质量和科研水平。 高校实施数智驱动考虑的几个方面 (1)建立数据驱动的决策机制&#xf…

计算机网络第三节物理层

一,第二章 物理层(数据通信有关) 1.物理层引入的目的 屏蔽掉传输介质的多样性,导致数据传输方式的不同;物理层的引入使得高层看到的数据都是统一的0,1构成的比特流 2.物理层如何实现屏蔽 物理层靠定义的不同的通信…

Spring系列文章1:Spring入门程序、集成Log4j2⽇志框架

一、什么是spring 一个java框架、java语言开发,轻量级、开源框架、在j2se、j2ee中都可以使用。它是一个管理对象的容器,Spring 容器不装文本,数字。装的是java对象。 核心技术:ioc、aop 官网地址 https://spring.io 项目列表…

山东理工,青岛理工傻傻分不清楚?进来对比考情

山东理工大学 考研难度(☆☆) 内容:23考情概况(拟录取和复试分析)、院校概况、23专业目录、23复试详情、各专业考情分析、各科目考情分析。 正文991字,预计阅读:3分钟 2023考情概况 山东理工…

【代码实现】DETR原文解读及代码实现细节

1 模型总览 宏观上来说,DETR主要包含三部分:以卷积神经网络为主的骨干网(CNN Backbone)、以TRM(Transformer)为主的特征抽取及交互器以及以FFN为主的分类和回归头,如DETR中build()函数所示。DETR最出彩的地方在于&…

看了字节跳动月薪25K+测试岗面试题,让我这个工作2年的测试工程师,直冒冷汗....

朋友入职字节已经两周了,整体工作环境还是非常满意的!所以这次特意抽空给我整理了这份面试宝典,而我把它分享给伙伴们,面试&入职的经验! 大概是在8月中的时候他告诉我投递了字节跳动并且简历已通过,8月…

JavaScript - 一个好玩的打字动画

效果预览&#xff1a; <!DOCTYPE html> <html> <head><title>打字动画示例</title><style>.typewriter {color: #000;overflow: hidden; /* 隐藏溢出的文本 */white-space: nowrap; /* 不换行 */border-right: .15em solid #000; /* 添加…

IDEA中debug调试模拟时显示不全(不显示null)的解决

IDEA中debug调试模拟时显示不全&#xff08;不显示null&#xff09;的解决 1、在IDEA中找到File&#xff08;文件&#xff09;->Settings&#xff08;设置&#xff09; 2、依次找到以下内容进行设置&#xff08;原版、汉化版&#xff09;&#xff1a; 打开Build, Executio…

STL常用容器 (C++核心基础教程之STL容器详解)String的API

在C的标准模板库&#xff08;STL&#xff09;中&#xff0c;有多种容器可供使用。以下是一些常见的容器类型&#xff1a; 序列容器&#xff08;Sequential Containers&#xff09;&#xff1a; std::vector&#xff1a;动态数组&#xff0c;支持快速随机访问。 std::list&…

LLM大模型推理加速 vLLM;Qwen vLLM使用案例

参考&#xff1a; https://github.com/vllm-project/vllm https://zhuanlan.zhihu.com/p/645732302 https://vllm.readthedocs.io/en/latest/getting_started/quickstart.html ##文档 1、vLLM 这里使用的cuda版本是11.4&#xff0c;tesla T4卡 加速原理&#xff1a; Paged…

项目招标投标公众号小程序开源版开发

项目招标投标公众号小程序开源版开发 以下是一个招标投标公众号小程序的功能列表&#xff1a; 用户注册与登录&#xff1a;用户可以注册账号并登录公众号小程序。项目发布&#xff1a;用户可以发布招标项目的详细信息&#xff0c;包括项目名称、招标单位、项目描述、招标要求…

巨人互动|游戏出海H5游戏出海规模如何?

H5游戏出海是指将H5游戏推广和运营扩展到国外市场的行为&#xff0c;它的规模受到多个因素的影响。本文小编讲一些关于H5游戏出海规模的详细介绍。 1、市场规模 H5游戏出海的规模首先取决于目标市场的规模。不同国家和地区的游戏市场规模差异很大&#xff0c;有些市场庞大而成…

error:03000086:digital envelope routines::initialization error

项目背景 前端vue项目启动突然报错error:03000086:digital envelope routines::initialization error 我用的开发工具是vscode&#xff0c;node版本是v18.17.0 前端项目版本如下↓ 具体报错如下↓ 报错原因 node版本过高 解决方法 1输入命令 $env:NODE_OPTIONS"--op…

cron介绍

cron表达式在线生成 在使用定时调度任务的时候&#xff0c;我们最常用的&#xff0c;就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。 cron表达式的组成 cron表达式是一个字符串&#xff0c;由6到7个字段组成&#xff0c;用空格分隔。其中前6个字…

融云观察:国内外社交应用差异分析,如何更快补齐功能和切换交互?

9 月 21 日&#xff0c;融云直播课 社交泛娱乐出海最短变现路径如何快速实现一款 1V1 视频社交应用&#xff1f; 欢迎点击上方小程序报名~ 本文中&#xff0c;我们将通过对 WhatsApp、微信、Telegram、Discord 几大社交软件的主要功能和交互体验对比&#xff0c;解析社交软件…

【AIGC专题】Stable Diffusion 从入门到企业级应用0414

一、前言 本文是《Stable Diffusion 从入门到企业级应用实战》系列的第四部分能力进阶篇《Stable Diffusion ControlNet v1.1 图像精准控制》的第0414篇 利用Stable Diffusion ControlNet 法线贴图模型精准控制图像生成。本部分内容&#xff0c;位于整个Stable Diffusion生态体…

融云出海:社交泛娱乐出海,「从 0 到 1」最全攻略

9 月 21 日&#xff0c;融云直播课社交泛娱乐出海最短变现路径如何快速实现一款 1V1 视频社交应用&#xff1f; 欢迎点击上方小程序报名~ 本期我们翻到《地图》的实践篇&#xff0c;从赛道/品类选择、目标地区适配、用户增长、变现模式、本地化运营、跨国团队管理等方面完整描绘…

大健云仓:股价正在艰难反弹,被严重低估了

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 业务和基本面 大健云仓&#xff08;GCT)是一家从事大型家居、家用电器、健身器材和园艺等国际大件商品出口的B2B交易平台&#xff0c;是全球领先的国际贸易数字化服务商。依靠国际化商业架构&#xff0c;自有全球化物流仓储…