200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【基础篇】MySQL系列之分组和聚合函数组合使用

【基础篇】MySQL系列之分组和聚合函数组合使用

时间:2023-03-24 12:31:23

相关推荐

【基础篇】MySQL系列之分组和聚合函数组合使用

🔹大家好,我是颜语凌。

🔶个人主页:颜语凌

🔹文章介绍:MySQL基础篇系列文章

🔶欢迎点赞➕关注➕评论

目录

一、数据准备

二、分组和聚合函数

三、小结

一、数据准备

这里我们把京东上笔记本的一些信息保存到数据库。

首先,我们先创建一个数据库jing_dong,再创建一个表goods来存储信息,SQL语句如下:

-- 创建 "京东" 数据库create database jing_dong charset=utf8;-- 使用 "京东" 数据库use jing_dong;-- 创建一个商品goods数据表create table goods(id int unsigned primary key auto_increment not null,name varchar(150) not null,cate_name varchar(40) not null,brand_name varchar(40) not null,price decimal(10,3) not null default 0,is_show bit not null default 1,is_saleoff bit not null default 0);

然后,我们将数据插入到goods表(这里由于数据太多,只写了前五个)中,SQL语句如下:

insert into goods values(0,'r510vc 15.6英寸笔记本','笔记本','华硕','3399',default,default); insert into goods values(0,'y400n 14.0英寸笔记本电脑','笔记本','联想','4999',default,default);insert into goods values(0,'g150th 15.6英寸游戏本','游戏本','雷神','8499',default,default); insert into goods values(0,'x550cc 15.6英寸笔记本','笔记本','华硕','2799',default,default); insert into goods values(0,'x240 超极本','超级本','联想','4880',default,default);

最后,我们查询一下jing_dong数据库下的表goods。

表结构说明:

id 表示主键 自增name 表示商品名称cate_name 表示分类名称brand_name 表示品牌名称price 表示价格is_show 表示是否显示is_saleoff 表示是否售完

到此我们的数据已经准备完成了~

二、分组和聚合函数

查询类型cate_name为 '超极本' 的商品名称、价格

select name,price from goods where cate_name = '超级本';

显示商品的分类

select cate_name from goods group by cate_name;

求所有电脑产品的平均价格,并且保留两位小数

select round(avg(price),2) as avg_price from goods;

显示每种商品的平均价格

select cate_name,avg(price) from goods group by cate_name;

查询每种类型的商品中 最贵、最便宜、平均价、数量

select cate_name,max(price),min(price),avg(price),count(*) from goods group by cate_name;

查询所有价格大于平均价格的商品,并且按价格降序排序

select id,name,price from goods where price > (select round(avg(price),2) as avg_price from goods) order by price desc;

三、小结

group by函数用来查询后按照by后的内容分组round()函数用来对数据的小数部分处理max(),min(),avg(),count()分别表示对数据取最大值,最小值,平均值,数量order by ... desc对选中的数据进行降序排序

🌴END~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。