MySQL第六天
2022-09-08
分组函数
1、按照某个字段分组并查询(group by)
以"students"表(id,name,age,gender,is_del,height)为例:
select gender from students group by gender;
说明:格式:select 字段名 from 表名 group by 要分组的字段名;
2、一张表中,按照某个字段分组后,查询某个字段分组后值的集合(group_concat)
以"students"表为例:
select gender,group_concat(name) from students group by gender;
说明:select 某个字段名1,grouP_concat(要以集合分布的字段名) from 表名 group by 某个字段名1;
结果图如下:
3、对分组数据进行过滤(having)
以"students"表为例:
select gender,count(*) from students group by gender having count(*) > 3;
查询分组中数量大于3的gender 中的属性以及统计它的人数。
4、对分组数据中的聚合函数进行汇总(with rollup)
以"students"表为例:
select gender,count(*) from students group by gender with rollup;
查询某个字段中,分组数据的个数统计。除此之外,结果表中还有NULL属性的统计,它的值是分组数据中总的数据的个数之和。
结果表如下:
--------------------------------------------------------
内连接(inner join ):
指的是两个表中符合条件的共有数据。即两个表的交集部分。
5、使用内连接查询两个表的联系情况:
前提:
例如:现创建了两个表。
表1 students(id,name,age,gender,id_del,height,c_id,); 表2 classes(id,name)。
select s.name,c.name from students s inner join classes c on s.c_id = c.id;
说明:students s 和 classes c 表示的是给某个表起一个别名,其中起别名的关键字as可以省略。
格式:select 表名.字段名(结果图中要列出的内容)from 表名1 表1别名 inner join 表名2 表2别名 on 连接约束条件(表1.字段名 = 表2.字段名);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南