AVG 函数

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

语法:SELECT AVG(列) FROM 表

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

id大于平均值的记录

COUNT() 函数

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

语法:SELECT COUNT(列) FROM 表

年龄是13的记录有34行

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做例子:

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

LAST() 函数

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

语法:SELECT LAST(列) FROM 表

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

MAX() 函数

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

语法:SELECT MAX(列) FROM 表

最大年龄

MIN() 函数

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

语法:SELECT MIN(列) FROM 表

age最小值

SUM() 函数

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

语法:SELECT SUM(列) FROM 表

表中年龄总和

GROUP BY 语句

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

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

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

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

每个司机的跑单总数

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

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

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

每个司机跑单应得钱数

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

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

每个司机可提现钱数

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

每个司机每天单数

HAVING 子句

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

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

挣钱超过一万五的司机

UCASE() 函数

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

语法:SELECT UCASE(列) FROM 表

image.png

LCASE() 函数

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

语法:SELECT LCASE(列) FROM 表

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

MID() 函数

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

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

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

从第二个到结尾

截取1-3

LEN() 函数

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

语法:SELECT LENGTH(列) FROM 表

司机名字的长度

ROUND() 函数

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

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

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

image.png

NOW() 函数

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

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

image.png

FORMAT() 、DATE_FORMAT()

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

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

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

语法:DATE_FORMAT(date,format)

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

时间格式的写法

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

两种格式化的用法

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

  1. mysql数据库标识符大小写_SQL语法区分大小写吗?

    我的理解是SQL标准要求不区分大小写. 但我不相信任何数据库完全符合标准. 对于区分大小写或不敏感的表名,MySQL有一个配置设置作为其"严格模式"(一些使MySQL更符合标准的设 ...

  2. MySQL学习笔记——第2章 SQL的基本概念和MySQL简介

    文章目录 2.1 SQL的基本概念 2.2 MySQL简介 2.3 MySQL数据库管理 2.1 SQL的基本概念 SQL(Structured Query Language):结构化查询语言 数据查 ...

  3. mysql 优化器算法_SQL 查询优化器底层原理解析【MySQL 篇】

    前言 SQL 执行流程中有一个模块叫做查询优化器,这个模块的功能主要是对 SQL 语法树进行逻辑优化和物理优化,最终生成执行计划交给执行引擎执行 SQL. 查询优化器主要分为两部分:一部分是逻辑优化, ...

  4. php mysql 注入漏洞_PHP安全:SQL注入漏洞防护

    原标题:PHP安全:SQL注入漏洞防护 SQL注入是最危险的漏洞之一,但也是最好防护的漏洞之一.本文介绍在PHP的编码中合理地使用MySQL提供的预编译进行SQL注入防护,在PHP中使用PHP数据对象 ...

  5. sql和mysql语法_SQL 与MySQL-基本语法介绍

    MySQL-基本语法介绍 简单说:msyql 就是一个仓库, sql就是如何从仓库取(查询.更改)东西,它们是一个组合,在一起亲密合作,缺一不合: MySQL 基本语法介绍 1. 什么是SQL SQL ...

  6. sql not in 用法_SQL 语法速成手册

    Cat哥领读: 整理非常全面,原谅我书读得少,只能用一句卧槽来赞美了! 作者:静默虚空 原文:https://juejin.im/post/5c7e524af265da2d914db18f 本文针对关 ...

  7. mysql版本不同会导致语法错误码_神奇的 SQL,Group By 真扎心,原来是这样!

    作者:青石路 原文:cnblogs.com/youzhibing/p/11516154.html GROUP BY 后 SELECT 列的限制 标准 SQL 规定,在对表进行聚合查询的时候,只能在 S ...

  8. sql between的用法的意思_SQL 宝典——SQL 语法速成手册

    没有谁的生活会一直完美,但无论什么时候,都要看着前方,满怀希望就会所向披靡.--<撒野> 本文针对关系型数据库的一般语法.限于篇幅,本文侧重说明用法,不会展开讲解特性.原理. 一.基本概念 ...

  9. 【JavaDebug(二)】之Mysql语法异常java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; chec

    本文章由公号[开发小鸽]发布!欢迎关注!!! 老规矩–妹妹镇楼: 一. 异常 (一)异常描述 java.sql.SQLSyntaxErrorException: You have an error i ...

最新文章

  1. Nginx的继续深入(日志轮询切割,重写,负载均衡等)
  2. 取出list中属性_你是否用过List<T>和List<?>?
  3. 一看就明白的爬虫入门讲解-基础理论篇(下篇)
  4. Python Django 前后端数据交互 之 HttpRequest、HttpResponse、render、redirect
  5. 苹果cms资源站360影视
  6. ManualResetEvent详解
  7. 最简单的基于FFmpeg的移动端例子:Android 视频解码器-单个库版
  8. 低危漏洞- X-Frame-Options Header未配置
  9. html没有prefix属性,HTML前缀属性(Open Graph Protocol)的含义?
  10. python:批量修改文件夹下所有图片名字,改为文件夹名字的一部分+.jpg
  11. 基于docker的Mongodb部署文档 文件映射方式
  12. Android测试驱动开发实践2
  13. win7家庭版计算机桌面,Win7 home basic家庭普通版显示桌面图标的方法
  14. 内存超频软件哪个好 内存超频教程
  15. js解压gzip(解决RangeError: Maximum call stack size exceeded)
  16. 会员管理系统html,会员管理系统网页版
  17. SVM支持向量机原理(一) 线性支持向量机
  18. 三年经验前端开发面试总结
  19. 使用bat批量删除修改子目录文件名后缀,超简单
  20. linux中设置ssh登录时显示的banner

热门文章

  1. 模拟退火法-TSP问题
  2. ncurses初始化函数:raw(),cbreak(),echo(),noecho(),keypad(),halfdelay()
  3. Python生态概览(一):数据分析库、数据可视化库、文本处理库、机器学习库、深度学习库
  4. Centos中iptables和firewall防火墙
  5. python映射的主要特点_30 个 Python 语言的特点技巧
  6. mfc formview中的关闭视图函数_VC|API消息处理(回调函数+分支语句)与MFC中的消息映射函数...
  7. js文件位置--为甚有些js必须放在尾部
  8. 微服务权限控制(二)共享Session方式的登录认证
  9. java test20006_java 数组 (数组个数小于2000)
  10. 在mysql支持关系模型中_MySQL支持关系模型中、和三种不同的完整性约束