MySQL - 数据查询_简单查询_统计分组查询

本文介绍了在MySQL中如何进行数据查询,强调了简单查询和分组查询的重要性。特别是当使用GROUP BY时,通常应结合统计函数以避免不确定性。还提到了GROUP_CONCAT()函数的用法,它能展示每个分组中的特定字段值。
摘要由CSDN通过智能技术生成

数据查询

查询数据是指从数据库中获取所需要的数据。如Jack 要达到验证用户名和密码的目的,就需要从数据库已保存的用户表中读取当前用户的密码进行验证,以验明正身!保存查询数据是数据库操作中常用且重要的操作。用户可以根据自己对数据的需求,使用不同的查询方式,获得不同的数据。

统计分组查询

在MySQL中,只实现简单的分组查询有时候可能没有任何实际意义,因为关键字GROUP BY单独使用时,默认查询出每个分组中随机的一条记录,具有很大的不确定性,一般建议将分组关键字与统计函数一起使用。
如果想显示每个分组中的字段,可以通过函数GROUP_CONCAT()来实现。该函数可以实现显示每个分组中的指定字段,函数的具体语法形式如下:

SELECT GROUP_CONCAT(field)
FROM tablename
WHERE CONDITION GROUP BY field;

在上述语句中会显示每个数组中的字段值。

【示例5-5】使用GROUP_CONCAT()对班级进行统计分组,并显示每组中学生的姓名。

执行SQL语句GROUP_CONCAT(),显示每个分组,具体SQL语句如下:

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 GROUP_CONCAT(name) name, sum(math) FROM grade GROUP BY class_id;  #按class_id 进行分组,统计数学总分并显示每个分组中的姓名  

具体操作

在这里插入图片描述

结语:

时间: 2020-07-12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值