🔹大家好,我是颜语凌。
🔶个人主页:颜语凌
🔹文章介绍: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~