数据查询
查询数据是指从数据库中获取所需要的数据。如Jack 要达到验证用户名和密码的目的,就需要从数据库已保存的用户表中读取当前用户的密码进行验证,以验明正身!保存查询数据是数据库操作中常用且重要的操作。用户可以根据自己对数据的需求,使用不同的查询方式,获得不同的数据。
简单分组查询
MySQL软件提供了5个统计函数来帮助用户统计数据,可以使用户很方便地对记录进行统计数、计算和、计算平均数、计算最大值和最小值,而不需要查询所有数据。
在具体使用统计函数时,都是针对表中所有记录数或指定特定条件(WHERE子句)的数据记录进行统计计算。在现实应用中,经常会先把所有数据记录进行分组,再对这些分组后的数据记录进行统计计算。
MySQL通过SQL语句GROUP BY来实现,分组数据查询语法如下:
SELECT
function()[,filed ]
FROM
tablename WHERE CONDITION GROUP BY
field;
在上述语句中,参数field表示某字段名,通过该字段对名称为tablename的表的数据记录进行分组。
注意
:在具体进行分组查询时,分组所依据的字段上的值一定要具有重复值,否则分组没有任何意义。
五个统计函数简介
1.统计数量
COUNT
(*):该种方式可以实现对表中记录进行统计,不管表字段中包含的是NULL值还是非NULL值。
COUNT
(field):该种方式可以实现对指定字段的记录进行统计,在具体统计时将忽略NULL值。
2. 统计计算平均值
该函数只有一种使用方式。
AVG(field)使用方式:该种方式可以实现对指定字段的平均值进行计算,在具体统计时将忽略NULL值。
3. 统计计算求和
该函数只有一种使用方式。
SUM
(field)使用方式:该种方式可以实现计算指定字段值之和,在具体统计时将忽略NULL值。
4. 统计最大值
该函数只有一种使用方式。
MAX
(field)使用方式:该种方式可以实现计算指定字段值中的最大值,在具体统计时将忽略NULL值。
5. 统计最小值
该函数只有一种使用方式。
MIN
(field)使用方式:该种方式可以实现计算指定字段值中的最小值,在具体统计时将忽略NULL值。
mysql> create database school; #创建数据库school
mysql> use school; #选择数据库school
mysql> create table grade(id int UNIQUE AUTO_INCREMENT, name varchar(128) NOT NULL, math tinyint unsigned, chinese tinyint unsigned, english tinyint unsigned, class_id int NOT NULL); #创建成绩表 grade
mysql> insert into grade values(1, '甲', 80, 87, 91, 1),(2,'乙', 72, 64, 89,2),(3, '丙', 54, 69, 87,2),(4,'丁', 78, 79, 89, 1); #插入多条记录
mysql> select class_id, sum(math) from grade group by class_id; #对两个班级的数学成绩进行统计
mysql> select class_id, avg(math), avg(chinese), avg(english) from grade group by class_id; #统计平均分,会忽略掉NULL 记录
具体操作
结语:
时间: 2020-07-11