MySQL第六天「终于解决」

MySQL第六天「终于解决」2022-09-08 分组函数 1、按照某个字段分组并查询(group by) 以"students"表(id,name,age,gender,is_del,height)为例:

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;

结果图如下:

MySQL第六天「终于解决」

 

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属性的统计,它的值是分组数据中总的数据的个数之和。

结果表如下:

MySQL第六天「终于解决」

 ——————————————————–

内连接(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.字段名);

原文地址:https://www.cnblogs.com/isDaHua/archive/2022/09/08/16670735.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4796.html

(0)
上一篇 2023-06-04
下一篇 2023-06-04

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注