在此,先筹备测试数据,代码如下:
– 创立数据库
DROP DATABASE IF EXISTS mydb;
CREATE DATABASE mydb;
USE mydb;
– 创立 student 表
CREATE TABLE student (
sid CHAR(6),
sname VARCHAR(50),
age INT,
gender VARCHAR(50) DEFAULT ‘male’
);
– 向 student 表插入数据
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1001’, ‘lili’, 14, ‘male’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1002’, ‘wang’, 15, ‘female’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1003’, ‘tywd’, 16, ‘male’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1004’, ‘hfgs’, 17, ‘female’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1005’, ‘qwer’, 18, ‘male’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1006’, ‘zxsd’, 19, ‘female’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1007’, ‘hjop’, 16, ‘male’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1008’, ‘tyop’, 15, ‘female’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1009’, ‘nhmk’, 13, ‘male’);
INSERT INTO student (sid,sname,age,gender) VALUES (‘S_1010’, ‘xdfv’, 17, ‘female’);
mysql 装置:http://down.cuohei.com/
1. 聚合函数
在开发中,咱们经常有相似的需要:统计某个字段的最大值、最小值、平均值等等。为此,MySQL 中提供了聚合函数来实现这些性能。所谓聚合,就是将多行汇总成一行;其实,所有的聚合函数均如此——输出多行,输入一行。聚合函数具备主动滤空的性能,若某一个值为 NULL,那么会主动将其过滤使其不参加运算。
聚合函数应用规定:
只有 SELECT 子句和 HAVING 子句、ORDER BY 子句中可能应用聚合函数。例如,在 WHERE 子句中应用聚合函数是谬误的。
接下来,咱们学习罕用聚合函数。
1.1、count()
统计表中数据的行数或者统计指定列其值不为 NULL 的数据个数
查问有多少该表中有多少人
MySQL 命令:
select count(*) from student;
1.2、max()
计算指定列的最大值,如果指定列是字符串类型则应用字符串排序运算
查问该学生表中年纪最大的学生
MySQL 命令:
select max(age) from student;
1.3、min()
计算指定列的最小值,如果指定列是字符串类型则应用字符串排序运算
查问该学生表中年纪最小的学生 MySQL 命令:
select sname,min(age) from student;
1.4、sum()
计算指定列的数值和,如果指定列类型不是数值类型则计算结果为 0
查问该学生表中年纪的总和 MySQL 命令:
select sum(age) from student;
1.5、avg()
计算指定列的平均值,如果指定列类型不是数值类型则计算结果为
查问该学生表中年纪的平均数 MySQL 命令:
select avg(age) from student;
2. 其余罕用函数
这里我就不一一举例了,根本混个眼生,当前用到再细说
2.1、工夫函数
SELECT NOW();
SELECT DAY (NOW());
SELECT DATE (NOW());
SELECT TIME (NOW());
SELECT YEAR (NOW());
SELECT MONTH (NOW());
SELECT CURRENT_DATE();
SELECT CURRENT_TIME();
SELECT CURRENT_TIMESTAMP();
SELECT ADDTIME(’14:23:12′,’01:02:01′);
SELECT DATE_ADD(NOW(),INTERVAL 1 DAY);
SELECT DATE_ADD(NOW(),INTERVAL 1 MONTH);
SELECT DATE_SUB(NOW(),INTERVAL 1 DAY);
SELECT DATE_SUB(NOW(),INTERVAL 1 MONTH);
SELECT DATEDIFF(‘2019-07-22′,’2019-05-05’);
2.2、字符串函数
– 连贯函数
SELECT CONCAT ()
–
SELECT INSTR ();
– 统计长度
SELECT LENGTH();
2.3、数学函数
– 绝对值
SELECT ABS(-136);
– 向下取整
SELECT FLOOR(3.14);
– 向上取整
SELECT CEILING(3.14);