飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一:数据准备:

-- 创建 "京东" 数据库
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表中插入数据

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); 
insert into goods values(0,'u330p 13.3英寸超极本','超级本','联想','4299',default,default); 
insert into goods values(0,'svp13226scb 触控超极本','超级本','索尼','7999',default,default); 
insert into goods values(0,'ipad mini 7.9英寸平板电脑','平板电脑','苹果','1998',default,default);
insert into goods values(0,'ipad air 9.7英寸平板电脑','平板电脑','苹果','3388',default,default); 
insert into goods values(0,'ipad mini 配备 retina 显示屏','平板电脑','苹果','2788',default,default); 
insert into goods values(0,'ideacentre c340 20英寸一体电脑 ','台式机','联想','3499',default,default); 
insert into goods values(0,'vostro 3800-r1206 台式电脑','台式机','戴尔','2899',default,default); 
insert into goods values(0,'imac me086ch/a 21.5英寸一体电脑','台式机','苹果','9188',default,default); 
insert into goods values(0,'at7-7414lp 台式电脑 linux )','台式机','宏碁','3699',default,default); 
insert into goods values(0,'z220sff f4f06pa工作站','服务器/工作站','惠普','4288',default,default); 
insert into goods values(0,'poweredge ii服务器','服务器/工作站','戴尔','5388',default,default); 
insert into goods values(0,'mac pro专业级台式电脑','服务器/工作站','苹果','28888',default,default); 
insert into goods values(0,'hmz-t3w 头戴显示设备','笔记本配件','索尼','6999',default,default); 
insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default); 
insert into goods values(0,'x3250 m4机架式服务器','服务器/工作站','ibm','6888',default,default); 
insert into goods values(0,'商务双肩背包','笔记本配件','索尼','99',default,default);

二:演练:
1:查询类型cate_name为 ‘超级本’ 的商品名称、价格

mysql> select name,price from goods where cate_name = "超级本";
+-----------------------------+----------+
| name                        | price    |
+-----------------------------+----------+
| x240 超极本                 | 4880.000 |
| u330p 13.3英寸超极本        | 4299.000 |
| svp13226scb 触控超极本      | 7999.000 |
+-----------------------------+----------+
3 rows in set (0.00 sec)

2:显示商品的分类
方式一:按照商品类型分组:

mysql> select cate_name from goods group by cate_name;
+---------------------+
| cate_name           |
+---------------------+
| 台式机              |
| 平板电脑            |
| 服务器/工作站       |
| 游戏本              |
| 笔记本              |
| 笔记本配件          |
| 超级本              |
+---------------------+
7 rows in set (0.00 sec)

方式二:查询所有类型,然后去重。

mysql> select distinct cate_name from goods;
+---------------------+
| cate_name           |
+---------------------+
| 笔记本              |
| 游戏本              |
| 超级本              |
| 平板电脑            |
| 台式机              |
| 服务器/工作站       |
| 笔记本配件          |
+---------------------+
7 rows in set (0.00 sec)

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

mysql>  select round(avg(price),2) as avg_price from goods;
+-----------+
| avg_price |
+-----------+
|   5570.57 |
+-----------+
1 row in set (0.00 sec)

4:显示每种商品的平均价格

mysql> select cate_name,round(avg(price),2)  from goods group by cate_name;
+---------------------+---------------------+
| cate_name           | round(avg(price),2) |
+---------------------+---------------------+
| 台式机              |             4821.25 |
| 平板电脑            |             2724.67 |
| 服务器/工作站       |            11363.00 |
| 游戏本              |             8499.00 |
| 笔记本              |             3732.33 |
| 笔记本配件          |             2399.00 |
| 超级本              |             5726.00 |
+---------------------+---------------------+
7 rows in set (0.00 sec)

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

mysql> select cate_name,max(price),min(price),avg(price),count(*) from goods group by cate_name;
+---------------------+------------+------------+---------------+----------+
| cate_name           | max(price) | min(price) | avg(price)    | count(*) |
+---------------------+------------+------------+---------------+----------+
| 台式机              |   9188.000 |   2899.000 |  4821.2500000 |        4 |
| 平板电脑            |   3388.000 |   1998.000 |  2724.6666667 |        3 |
| 服务器/工作站       |  28888.000 |   4288.000 | 11363.0000000 |        4 |
| 游戏本              |   8499.000 |   8499.000 |  8499.0000000 |        1 |
| 笔记本              |   4999.000 |   2799.000 |  3732.3333333 |        3 |
| 笔记本配件          |   6999.000 |     99.000 |  2399.0000000 |        3 |
| 超级本              |   7999.000 |   4299.000 |  5726.0000000 |        3 |
+---------------------+------------+------------+---------------+----------+
7 rows in set (0.00 sec)

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

mysql> select * from  goods where price > (select avg(price) from goods) order by price desc;
+----+---------------------------------------+---------------------+------------+-----------+---------+------------+
| id | name                                  | cate_name           | brand_name | price     | is_show | is_saleoff |
+----+---------------------------------------+---------------------+------------+-----------+---------+------------+
| 17 | mac pro专业级台式电脑                 | 服务器/工作站       | 苹果       | 28888.000 |        |            |
| 13 | imac me086ch/a 21.5英寸一体电脑       | 台式机              | 苹果       |  9188.000 |        |            |
|  3 | g150th 15.6英寸游戏本                 | 游戏本              | 雷神       |  8499.000 |        |            |
|  7 | svp13226scb 触控超极本                | 超级本              | 索尼       |  7999.000 |        |            |
| 18 | hmz-t3w 头戴显示设备                  | 笔记本配件          | 索尼       |  6999.000 |        |            |
| 20 | x3250 m4机架式服务器                  | 服务器/工作站       | ibm        |  6888.000 |        |            |
+----+---------------------------------------+---------------------+------------+-----------+---------+------------+
6 rows in set (0.00 sec)

posted on 2020-08-15 17:30  飞行的猪哼哼  阅读(35)  评论(0)    收藏  举报