mysql必会语法_sql语法:sql必读必会(二)mysql中的函数大全

AVG 函数

作用:AVG 函数返回数值列的平均值。NULL 值不包括在计算中

语法:SELECT AVG(列) FROM 表

c5f71f8f7f07fc1039c4d9f49b40bf7c.png

求id平均值(实在没字段了,就是意思意思)

bd6928b1770210e6db1f1a2789171c7e.png

id大于平均值的记录

COUNT() 函数

作用:返回匹配指定条件的行数。

语法:SELECT COUNT(列) FROM 表

0530fa8a2fe823c21a4d7cb7db1c6a45.png

年龄是13的记录有34行

0dde5a6de44b481158c96ad6f3628537.png

id大于1的年龄不同值2个

FIRST() 函数

作用:返回指定的字段中第一个记录的值。(多与order by 联合使用)

语法:SELECT FIRST(列) FROM 表

!!!这个划重点,贼鸡儿坑,我不知道啥数据支持这个函数,反正mysql,sqlserver,oracle都不支持。

SQL Server 语法:

SELECT TOP 1 column_name FROM table_name

ORDER BY column_name ASC;

MySQL 语法:

SELECT column_name FROM table_name

ORDER BY column_name ASC

LIMIT 1;

Oracle 语法:

SELECT column_name FROM table_name

ORDER BY column_name ASC

WHERE ROWNUM <=1;

因为我这只有mysql数据库,所以就用mysql做例子:

a853c5cd1f8f1d71c4874aff96b67a46.png

排序某字段并取第一行记录值

LAST() 函数

作用:返回指定的字段中最后一个记录的值。

语法:SELECT LAST(列) FROM 表

这个没啥好说的了。照着上面第三个来,order by反过来就ok了!我也不多说了,毕竟mysql,sqlserver都不直接支持。

MAX() 函数

作用:返回一列中的最大值。NULL 值不包括在计算中

语法:SELECT MAX(列) FROM 表

85a7023069ee72c1cee582426effb371.png

最大年龄

MIN() 函数

作用:返回一列中的最小值。NULL 值不包括在计算中

语法:SELECT MIN(列) FROM 表

f76a27b0fa576f45cd3d18a16417bf76.png

age最小值

SUM() 函数

作用:返回数值列的总数(总额)

语法:SELECT SUM(列) FROM 表

2d54942e916aec8f6400d572fc46d948.png

表中年龄总和

GROUP BY 语句

作用:用于结合合计函数,根据一个或多个列对结果集进行分组。GROUP BY 语句常常与合计函数联合使用。

语法:SELECT 分组列,合计函数(合计列) FROM 表 (如果有条件还可以加where语句) GROUP BY 分组列

其实我觉得这个比较复杂,也不是一个例子两个例子就能完全了解的,甚至我用的也没多少熟练,简单的写几种情况:

因为这个要结合业务,我这里就拿已有的例子简单的写几个情景:

6f061da4f3cb28b0dd3050f9fa02cc69.png

每个司机的跑单总数

订单状态为0是已完成,所以想查找每个司机已完成的订单数要加个条件,状态为0。

94aa94b8c2532ad67343df6000021472.png

每个司机已完成的订单总数

这个和上面的类似,已完成的订单才确定钱数。

545161e6da70766bd973d480d229d78e.png

每个司机跑单应得钱数

规定已完成一周的订单才可以提现,现在求每个司机可提现钱数(execute不为0证明已经提现过,所以不算在内):

这里确定订单是否已完成一周我用了最笨的一种方法,就是当时的创建时间加上七天是否小于当前实现,不小于则说明不够七天,反之同理。

9896cd11c7c008df8703f36ff065d5aa.png

每个司机可提现钱数

计算每个司机每天单数统计:这里是按照司机和日期两个字段分组的。实际业务中还容易出现一种需求,那就是如果某天没有数据要补0,保证日期的连续性。但是我目前的知识储备只能做一张日历表关联,比较麻烦,所以这里就不写了。如果大佬们有更好的办法麻烦告知哈,谢谢了。

c5bde27046d48aa937644f5a83a4ec8d.png

每个司机每天单数

HAVING 子句

作用:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

语法:SELECT 分组列,合计函数(合计列) FROM 表 (如果有条件还可以加where语句) GROUP BY 分组列 HAVING 合计函数(合计列)条件

afd07b14dc2429c1470e612caf16079b.png

挣钱超过一万五的司机

UCASE() 函数

作用:把字段的值转换为大写。

语法:SELECT UCASE(列) FROM 表

ebac0f46a8a8c12b638f0dda287bfd83.png

image.png

LCASE() 函数

作用:把字段的值转换为小写。

语法:SELECT LCASE(列) FROM 表

用法和上面的大写是一样的,我也不写demo了。

MID() 函数

作用:用于从文本字段中提取字符。

语法:SELECT MID(列,起始下标(从1开始),截取长度(不填默认到结束)) FROM 表

这个我理解为就是一个字符串截取。第一个参数是要截取的列,第二个参数从哪里开始截取(注意的是从1开始,不同于常用的从0开始),第三个参数可写可不写,不写默认是截取到结尾。

624da40ebf57c939252e2f9a0e1797b4.png

从第二个到结尾

8114268f018e356cbb49e873209e99fc.png

截取1-3

LEN() 函数

作用:返回文本字段中值的长度。注意!!!!!坑又来了,mysql中这个函数写法不同,mysql中是LENGTH();

语法:SELECT LENGTH(列) FROM 表

9ebb9bdb446a623c.png

司机名字的长度

ROUND() 函数

作用:用于把数值字段舍入为指定的小数位数。

语法:SELECT ROUND(字段,小数位数) FROM 表

因为我数据库真的没有小数能做例子,所以这里看不出效果,但是语句运行正常就说明还是有用的。

acac9668dd45f8f1fb7f60c940a9d2be.png

image.png

NOW() 函数

作用:返回当前的日期和时间。

语法:这个就是一个函数,我在上文都用到过,就不多说了。

7c94c99986c3418ae368f12fc514131d.png

image.png

FORMAT() 、DATE_FORMAT()

作用:用于对字段的显示进行格式化。

format()函数:将数据内容格式化的,可以将数据格式化为整数或者带几位小数的浮点数(四舍五入)。

DATE_FORMAT() 函数:用于以不同的格式显示日期/时间数据。

语法:DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。

a950ae073ae28cfb99384f5ffad505c8.png

时间格式的写法

对,我说的莫名其妙就是因为这个格式,真的可能是我接触的少,所以很受不了。接下来是两种用法的例子:

98d6c74ecd53cef9820753a1af165752.png

两种格式化的用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值