MySQL单表数据查询之分组数据查询之旅

MySQL HAVING子句:数据侦探的高级筛选秘籍 现在,你已经掌握了HAVING子句这门高级筛选技巧,就像一名数据侦探,能够精准定位并提取那些隐藏在数据群落中的关键信息。带着这份技能,去探索你的数据宇宙,揭开每一个数据背后的秘密吧!🚀。 阅读详情

MySQL单表数据查询之分组数据查询之旅

  • 简单分组查询

  • 实现统计功能分组查询

  • 实现多个字段分组查询

1、创建数据库

create database check_group;

2、使用刚刚创建的数据库

use check_group;

3、创建表boluo

create table boluo(

​		id int,

​		name varchar(20),

​		job varchar(20),

​		brithday date,

​		sal int,

​		depno int);

查看表的定义信息

desc boluo;

此处添加照片7

4、插入数据

insert into boluo values(001,'菠萝吹雪','洗完工',1900-01-01,1787,10), (002,'梨花诗','收银员',1900-07-07,1987,10);
insert into boluo values(001,'陆小果','洗完工',1900-02-01,1787,20), (002,'橙留香','送货员',1900-09-07,1987,20);
insert into boluo values(001,'上官子怡','洗完工',1900-02-01,1787,30), (002,'天下无贼','售货员',1900-09-07,1987,30);

查看菠萝表所有的数据记录

select * from boluo;

执行完上面的命令后,发现2出错误

1、发现出错brithday写错了,修改为birthday

alter table boluo

​			change brithday birthday varchar(20);

再次查看表的定义信息

+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | YES  |              | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| job      | varchar(20) | YES  |     | NULL    |       |
| birthday | varchar(20) | YES  |     | NULL    |       |
| sal      | int(11)     | YES  |     | NULL    |       |
| depno    | int(11)     | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

2、birthday数据没有成功插入,导致select为默认值

修改

update boluo set birthday="1900-01-01" where name='菠萝吹雪';

update boluo set birthday="1900-07-07" where name='梨花诗';

update boluo set birthday="1900-02-01" where name='陆小果';

update boluo set birthday="1900-09-07" where name='橙留香';

update boluo set birthday="1900-02-01" where name='上官子怡';

update boluo set birthday="1900-09-07" where name='天下无贼';

========================

分组数据查询的意义:

对数据库具有基于表的特定列对数据进行分析处理

例如:可以对所有数据进行分组,然后对分组后的数据记录进行统计计算

分组用SQL语句GROUP BY实现,基本语法格式如下:

select function()  from table_name

​			where condition

​			group by field;

field字段的要求:field字段上的值一定要有重复值,否则没有意义

执行SQL语句GROUP BY对所有数据进行分组

select * from table_name 

​		group by deptno;
实现统计功能分组查询
select group_concat(field)

​			from table_name

​					where condition

​					group by field;

==========================================

5、分组数据查询----简单分组查询

select  * from boluo group by depno;

查询结果:

+------+--------------+-----------+------------+------+-------+
| id   | name         | job            | birthday      | sal     | depno |
+------+--------------+-----------+------------+------+-------+
|    1 | 菠萝吹雪     | 洗完工    | 1900-01-01 | 1787 |    10 |
|    1 | 陆小果       | 洗完工      | 1900-02-01 | 1787 |    20 |
|    1 | 上官子怡     | 洗完工    | 1900-02-01 | 1787 |    30 |
+------+--------------+-----------+------------+------+-------+
3 rows in set (0.00 sec)

解释:根据depno字段进行分组 从boluo表中查询所有的字段

只实现简单的分组查询是没有任何实际意义的,因为关键字group by单独使用时,默认查询出每个分组中随机记录一条,具有很大的不确定性。

6、分组数据查询—实现统计功能分组查询

select depno,group_concat(name) isname

​		from boluo

​		group by depno;

解释:根据depno分组,命名isname来存储显示name的字段,select 后面的depno字段,就仅仅是普通的查询而已

查询结果:

+-------+-------------------------------------------------------------------------------------------------------------------------------------------+
| depno | isname                                                                                                                                    |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------+
|    10 | 菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗                                           |
|    20 | 陆小果,橙留香                                                                                                                             |
|    30 | 上官子怡,天下无贼                                                                                                                         |
+-------+-------------------------------------------------------------------------------------------------------------------------------------------+			
select id,group_concat(name) isname from boluo group by depno;

查询结果:

+------+-------------------------------------------------------------------------------------------------------------------------------------------+
| id   | isname                                                                                                                                    |
+------+-------------------------------------------------------------------------------------------------------------------------------------------+
|    1 | 菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗,菠萝吹雪,梨花诗                                           |
|    1 | 陆小果,橙留香                                                                                                                             |
|    1 | 上官子怡,天下无贼                                                                                                                         |
+------+-------------------------------------------------------------------------------------------------------------------------------------------+

可以比较两条语句,能看到不同点的

7、分组数据查询----实现多个字段分组查询

select depno from boluo

​		group by depno;
+-------+
| depno |
+-------+
|    10 |
|    20 |
|    30 |
+-------+
select depno,birthday

​		from boluo

​		group by depno,birthday;
+-------+------------+
| depno | birthday   |
+-------+------------+
|    10 | 1900-01-01 |
|    10 | 1900-07-07 |
|    20 | 1900-02-01 |
|    20 | 1900-09-07 |
|    30 | 1900-02-01 |
|    30 | 1900-09-07 |
+-------+------------+
select depno,birthday,group_concat(name),count(name)

​		from boluo

​		group by depno,birthday;
+-------+------------+-------------------------------------------------------------------------------+-------------+
| depno | birthday   | group_concat(name)                                                                          | count(name) |
+-------+------------+-------------------------------------------------------------------------------+-------------+
|    10 | 1900-01-01 | 菠萝吹雪,菠萝吹雪,菠萝吹雪,菠萝吹雪,菠萝吹雪,菠萝吹雪      |           6 |
|    10 | 1900-07-07 | 梨花诗,梨花诗,梨花诗,梨花诗,梨花诗,梨花诗                                 |           6 |
|    20 | 1900-02-01 | 陆小果                                                                                                          |           1 |
|    20 | 1900-09-07 | 橙留香                                                                                                          |           1 |
|    30 | 1900-02-01 | 上官子怡                                                                                                     |           1 |
|    30 | 1900-09-07 | 天下无贼                                                                                                     |           1 |
+-------+------------+-------------------------------------------------------------------------------+-------------+

8、分组数据查询–实现having字句限定分组查询

在MySQL软件中如果想实现对分组进行条件限制,决不能通过关键字where来实现,因为该关键字主要用来实现条件限制数据记录。为解决上述问题,MySQL软件专门提供了关键字having来实现条件限制分组数据记录。

having关键字查询语法形式如下

select function(field)

​		from table_name

​		where condition

​		group by field,field,field,...,fieldn

​		having condition;
MySql分组后随机获取每组一条数据的操作 思路:先随机排序然后再分组就好了。 1、创建表: CREATE TABLE `xdx_test` ( `id` int(11) NOT NULL, `name` varchar(255) DEFAULT NULL, `class` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; 2、插入数据 INSERT INTO xdx_test VALUES (1, '张三-1','1'); INSERT INTO xdx_test VALUES (2, '李四-1', 立即下载

相关推荐

数字电子时钟——数字电路课设

本文设计了一种基于中小规模集成电路的数字电子时钟系统,采用模块化设计方法,包含晶振电路(CD4060+D触发器)、计时电路(74HC161计数器)、数码管驱动(CD4511)和整点报时功能。系统实现了60进制秒/分、24进制小时、7进制星期的计时显示,支持手动校时功能,并具备整点报时特性(59分54-58秒5次500Hz低音,59秒1次1000Hz高音)。通过分模块调试与整合,最终实物电路满足设计要求,获得优秀评价。

来自FZU——电子科学与技术专业 1488

sql分组查询,显示要有分组字段

select  name ,MAX(gmt_create) as createTime  from base_ec_black  group  by name 

忍耐 3882

手把手教你用DLP4500投影仪玩转结构光3D扫描(附固件烧录与序列设置避坑指南)

本文详细解析了如何使用DLP4500投影仪搭建结构光3D扫描系统,涵盖硬件组装、固件烧录、图案生成与优化等全流程。重点解决了固件烧录失败、图像格式错误等常见问题,并提供了实用的避坑指南和进阶技巧,帮助读者快速掌握DLP4500在3D扫描中的应用。

weixin_42662293的博客 301

MySQL单表查询、多表查询、分组查询、等级查询综合练习

单表查询 1.选择部门30中的所有员工 2.列出所有办事员的姓名,编号和部门编号 3.找出佣金高于薪金的员工 4.找出没有佣金的员工 5.找出佣金高于薪金的60%的员工 6.找出部门10中所有人事部长和部门20中所有办事员的详细资料 7.找出收取佣金的员工 8.找出不收取佣金或收取的佣金低于100的员工 9.找出姓张的员工的信息 10.显示员工的姓名和受雇日期,新的员工排在最前面 11.按工作的降序排序,若工作相同则按薪金排序 12.查出不姓刘的员工的信息 13.取出姓李的员工 多

weixin_72583321的博客 807

芯片测试中的DC与AC模式详解:如何选择最适合你的测试方案?

本文深入解析了芯片测试中DC(直流)与AC(交流)模式的核心差异与互补性。DC测试关注静态电气特性,如固定型故障;而AC测试则聚焦于芯片在额定工作速度下的动态时序行为。文章从VLSI设计、电路模块、成本约束、可测试性设计和应用场景五大维度,提供了如何根据工艺节点、工作频率及具体需求,在testMode配置、时钟复位策略和输入输出接口设计中,平衡两种测试模式以制定最优方案的决策框架。

bb456的博客 1086

Ubuntu+Dify实战:如何让大模型知识库完美支持图片召回(附避坑指南)

本文详细介绍了在Ubuntu系统上部署Dify平台,并实现大模型知识库图片召回功能的完整实战方案。通过解析Dify处理图片的底层逻辑,重点讲解了配置Nginx代理服务器将本地图片路径转换为可公开访问URL的核心工程步骤,并提供了文档预处理、环境变量配置以及父子分段策略等高级技巧,帮助开发者构建图文并茂的AI应用,有效提升知识库的丰富性和用户体验。

c7d8e的博客 445

MySQL查询详解:单表查询、多表查询、分组查询、子查询

通过本篇文章,我们详细探讨了MySQL中的单表查询、多表查询、分组查询和子查询。无论是简单的单表查询,还是复杂的多表关联查询、分组统计和嵌套子查询,这些技术都是构建强大数据库应用的基石。

良月柒 1487

基于YOLO系列的安全帽检测系统:从理论到实现的完整指南

安全帽检测作为计算机视觉在工业安全领域的重要应用,近年来得到了广泛关注。本文详细介绍了基于YOLOv5、YOLOv6、YOLOv7和YOLOv8的安全帽检测系统的完整实现方案,包括算法原理、数据集构建、模型训练、性能优化以及完整的UI界面设计。通过对比分析不同YOLO版本的性能差异,本文为工业安全检测系统的开发提供了全面的技术参考和实践指导。

YOLO 364

limit、排序、分组单表查询(三)MySQL数据库(头歌实践教学平台)

往后继续学习,我们会介绍分组查询与其他查询一起结合使用。在我们查询大量数据结果时,会返回很多条数据,有需要的记录可能就其中的一条或者几条。如果我们需要对读取的语句进行排序,我们就可以使用。为了完成本关任务,你只需要掌握分组查询的单独使用。本关任务:对班级表中的班级名称进行分组查询。,表示从查询结果的第一条记录开始,若偏移量为。,则从查询结果中的第二条记录开始,以此类推。第二个参数,记录数,表示返回查询结果的条数。名的学生信息,并根据学生成绩进行降序排序。名的学生信息,并根据学生成绩进行降序排序。

weixin_61009782的博客 3658

Objective-C实现人工势场法(附完整源码)

Objective-C实现人工势场法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 426

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1418

mysql分组查询举例_mysql——单表查询——分组查询——示例

一、基本查询语句select的基本语法格式如下:select 属性列表 from 表名和视图列表[ where 条件表达式1 ][ group by 属性名1 [ having 条件表达式2 ] ][ order by 属性名2 [ asc | desc ] ]属性列表参数表示需要查询的字段名;表名和视图列表参数表示从此处指定的表或者视图中查询数据,表和视图可以有多个;条件表达式1参数指定查询条件...

weixin_36486277的博客 608

34、Text2KGBench与GeoQuestions1089:知识图谱生成与地理空间问答的新进展

本文介绍了Text2KGBench和GeoQuestions1089在知识图谱生成与地理空间问答领域的最新进展。Text2KGBench提供了一个开放且可复现的基准,用于从文本生成知识图谱,并结合多个LLM模型和评估工具推动研究。GeoQuestions1089是目前最大的地理空间问答数据集,与GeoQA2系统结合,推动了地理空间问答系统的发展。文章还探讨了技术挑战和未来研究方向,包括多模态知识图谱生成和深度学习优化的地理空间问答系统。

css33的专栏 114

SQL必知必会第4版PDF下载及MySQL样例表脚本

SQL必知必会第4版PDF下载及MySQL样例表脚本 【下载地址】SQL必知必会第4版PDF下载及MySQL样例表脚本 本仓库提供《SQL必知必会第4版》PDF电子书及配套MySQL样例表脚本,助您掌握SQL核心技能。书中涵盖SQL基础语法、数据查询、插入更新删除、聚合函数、子查询、连接、事务处理及性能优化等高级主题,适...

gitblog_06708的博客 534

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

DataRoom大屏设计器完整指南:从零开始打造专业数据可视化

还在为复杂的数据可视化项目头疼吗?DataRoom大屏设计器正是你需要的解决方案!这款基于SpringBoot、Vue、G2Plot等现代技术栈的开源工具,让数据可视化变得简单而高效。无论你是数据分析师、产品经理还是开发人员,都能在几分钟内创建出令人惊艳的专业大屏。 ## 🚀 快速入门:三步完成你的第一个大屏 ### 环境准备与项目获取 首先确保你的系统满足以下基础要求: - Java 8

gitblog_00236的博客 726

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

MySQL单表查询之分组查询

分组查询mysql> select countrycode as total fromCity where id<10;+-------+| total |+-------+| AFG|| AFG|| AFG|| AFG|| NLD|| NLD|| NLD|| NLD|| NLD|+-------+9 rows in set ...

weixin_34239169的博客 310

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

mysql in 分组_mysql-in关键字,分组查询,分页查询

1. in关键字,组查询# 使用or来查询的化,不方便而且参数一多比较傻select * from users where id=1 or id=2 or id=4;select * from users where id in(1,2,4)select * from users where id not in (2,3) order by javascore ase;2. 分组查询 group ...

weixin_30741979的博客 632

使用mysql语句进行分组查询

使用mysql语句进行分组查询

SSS4362的博客 6420

mysql 单表数据_mysql 数据操作 单表查询 group by 介绍

group by 是在where 之后运行在写单表查询语法的时候 应该把group by 写在 where 之后执行顺序1.先找到表 from 库.表名2.按照where 约束条件 过滤你想要的记录3.group by 进行分组4.分完组以后 再进行相应的查询分组查询:GROUP BY一 什么是分组?为什么要分组?分类一定要找大家都有一样的属性#1、首先明确一点:分组发生在where之后,即分组是...

weixin_34922053的博客 324

mysql单表分组查询每组 中最新时间的记录

SELECT * from (SELECT * from student where 1=1 and user_id='111111' and c_user_id !='111111' ORDER BY create_time desc LIMIT 1000) as stu GROUP BY stu.tent_id ORDER BY stu.create_time desc

铲屎官大人的博客 2214

sql数据库如何实现单表分组查询

1、基本语法 select 列名1,列名2…  from 表名 group by 列名1,列名2… 2、概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。 原始表A sql数据库单表分组查询 例 :查询A表中各类别下都有哪些摘要。 Select 类别,摘...

MarsHH的博客 2544

SQL知识之单表查询和分组聚合

1、简单查询 SELECT * FROM user_info; # 查询所有字段 SELECT id,name FROM user_info; # 查询指定字段 SELECT DISTINCT name FROM user_info; # DISTINCT,去除重复数据 SELECT name, salary*2 FROM user_info; # ...

恋恋风尘的博客 1016

mysql 随机分组_MySql分组后随机获取每组一条数据的操作

MySql分组后随机获取每组一条数据的操作,数据,效率,时间,李四,条数MySql分组后随机获取每组一条数据的操作易采站长站,站长之家为您整理了MySql分组后随机获取每组一条数据的操作的相关内容。思路:先随机排序然后再分组就好了。1、创建表:CREATE TABLE `xdx_test` (`id` int(11) NOT NULL,`name` varchar(255) DEFAULT NUL...

weixin_32858247的博客 921

mysql简单的sql语句单表分组查询

-- 按品牌分组,获取每组商品总金额 SELECT brand,SUM(price) FROM product GROUP BY brand; -- 对于金额大于4000 的商品 按品牌分组,获取每组商品总金额 SELECT brand,SUM(price) FROM product WHERE price > 4000 GROUP BY brand; -- 对于金额大于4000 的商品 按品牌分组,获取每组商品总金额 只显示总金额大于7000元的 SELECT brand,SUM(pric.

qq_42553504的博客 473

单表分组查询时,引号

转载于:https://www.cnblogs.com/Zhao159461/p/10945208.html

azgegiujmm1205713的博客 158

mysql分组随机取数据_MySql分组后随机获取每组一条数据的操作

思路:先随机排序然后再分组就好了。1、创建表:create table `xdx_test` (`id` int(11) not null,`name` varchar(255) default null,`class` varchar(255) default null,primary key (`id`)) engine=innodb default charset=utf8mb4;2、插入数...

weixin_34193979的博客 1669
上一篇: MySQL排序数据记录查询篇ASC升序DESC升序和5大统计函数
下一篇: MySQL中合并查询数据记录与子查询
崔凯洋
博客等级 码龄6年 26粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值