mysql查询练习

时间:2023-03-09 16:44:16
mysql查询练习
mysql> #查询每个栏目最贵的商品
mysql> select goods_id,shop_price,cat_id from (select goods_id,shop_price,cat_id
from goods order by shop_price desc) as temp group by cat_id;
+----------+------------+--------+
| goods_id | shop_price | cat_id |
+----------+------------+--------+
| 16 | 823.33 | 2 |
| 22 | 5999.00 | 3 |
| 18 | 2878.00 | 4 |
| 23 | 3700.00 | 5 |
| 7 | 100.00 | 8 |
| 6 | 42.00 | 11 |
| 25 | 48.00 | 13 |
| 29 | 90.00 | 14 |
| 27 | 95.00 | 15 |
+----------+------------+--------+
9 rows in set (0.02 sec) mysql> #查询出每个栏目最低的商品
mysql> select goods_id,shop_price,cat_id from(select goods_id,shop_price,cat_id
from goods order by shop_price asc) as temp group by cat_id;
+----------+------------+--------+
| goods_id | shop_price | cat_id |
+----------+------------+--------+
| 16 | 823.33 | 2 |
| 20 | 280.00 | 3 |
| 1 | 1388.00 | 4 |
| 23 | 3700.00 | 5 |
| 4 | 58.00 | 8 |
| 5 | 20.00 | 11 |
| 26 | 19.00 | 13 |
| 30 | 18.00 | 14 |
| 28 | 45.00 | 15 |
+----------+------------+--------+
9 rows in set (0.00 sec) mysql> #查询出每个栏目的平均价格
mysql> select goods_id,cat_id,shop_price from goods where cat_id=2;
+----------+--------+------------+
| goods_id | cat_id | shop_price |
+----------+--------+------------+
| 16 | 2 | 823.33 |
+----------+--------+------------+
1 row in set (0.00 sec) mysql> select goods_id,cat_id,shop_price from goods where cat_id=3;
+----------+--------+------------+
| goods_id | cat_id | shop_price |
+----------+--------+------------+
| 8 | 3 | 399.00 |
| 9 | 3 | 2298.00 |
| 10 | 3 | 1328.00 |
| 11 | 3 | 1300.00 |
| 12 | 3 | 983.00 |
| 13 | 3 | 1311.00 |
| 15 | 3 | 788.00 |
| 17 | 3 | 2300.00 |
| 19 | 3 | 858.00 |
| 20 | 3 | 280.00 |
| 21 | 3 | 2000.00 |
| 22 | 3 | 5999.00 |
| 24 | 3 | 2000.00 |
| 31 | 3 | 1337.00 |
| 32 | 3 | 3010.00 |
+----------+--------+------------+
15 rows in set (0.00 sec) mysql> select cat_id,avg(shop_price) from goods where cat_id=3;
+--------+-----------------+
| cat_id | avg(shop_price) |
+--------+-----------------+
| 3 | 1746.066667 |
+--------+-----------------+
1 row in set (0.00 sec) mysql> select cat_id from goods group by cat_id;
+--------+
| cat_id |
+--------+
| 2 |
| 3 |
| 4 |
| 5 |
| 8 |
| 11 |
| 13 |
| 14 |
| 15 |
+--------+
9 rows in set (0.00 sec) mysql> select cat_id,avg(shop_price) from goods where cat_id in (
-> select cat_id from goods group by cat_id);
+--------+-----------------+
| cat_id | avg(shop_price) |
+--------+-----------------+
| 4 | 1232.526774 |
+--------+-----------------+
1 row in set (0.03 sec) mysql> select cat_id,sum(goods_number) from goods where cat_id=4;
+--------+-------------------+
| cat_id | sum(goods_number) |
+--------+-------------------+
| 4 | 3 |
+--------+-------------------+
1 row in set (0.00 sec) mysql> select cat_id,sum(goods_number) from goods group by cat_id;
+--------+-------------------+
| cat_id | sum(goods_number) |
+--------+-------------------+
| 2 | 0 |
| 3 | 203 |
| 4 | 3 |
| 5 | 8 |
| 8 | 61 |
| 11 | 23 |
| 13 | 4 |
| 14 | 9 |
| 15 | 2 |
+--------+-------------------+
9 rows in set (0.00 sec) mysql> #取出每个栏目下的商品的平均价格
mysql> select cat_id,avg(shop_price) as '平均价' from goods group by cat_id;
+--------+-------------+
| cat_id | 平均价 |
+--------+-------------+
| 2 | 823.330000 |
| 3 | 1746.066667 |
| 4 | 2297.000000 |
| 5 | 3700.000000 |
| 8 | 75.333333 |
| 11 | 31.000000 |
| 13 | 33.500000 |
| 14 | 54.000000 |
| 15 | 70.000000 |
+--------+-------------+
9 rows in set (0.03 sec) mysql> #取出每个栏目下的库存量
mysql> select cat_id,goods_number from goods group by cat_id;
+--------+--------------+
| cat_id | goods_number |
+--------+--------------+
| 2 | 0 |
| 3 | 1 |
| 4 | 1 |
| 5 | 8 |
| 8 | 17 |
| 11 | 8 |
| 13 | 2 |
| 14 | 0 |
| 15 | 2 |
+--------+--------------+
9 rows in set (0.00 sec) mysql> #查询每个栏目下商品的种类
mysql> select cat_id,count(*) as '商品种类' from goods cat_id;
+--------+----------+
| cat_id | 商品种类 |
+--------+----------+
| 4 | 31 |
+--------+----------+
1 row in set (0.00 sec) mysql> select cat_id,count(*) as '商品种类' from goods group by cat_id;
+--------+----------+
| cat_id | 商品种类 |
+--------+----------+
| 2 | 1 |
| 3 | 15 |
| 4 | 3 |
| 5 | 1 |
| 8 | 3 |
| 11 | 2 |
| 13 | 2 |
| 14 | 2 |
| 15 | 2 |
+--------+----------+
9 rows in set (0.02 sec) mysql> #having和group综合使用查询
mysql> #查询该店的商品比市场价所省的价格 mysql> select goods_id,shop_price,market_price-shop_price as '比市场省的钱' from
goods;
+----------+------------+--------------+
| goods_id | shop_price | 比市场省的钱 |
+----------+------------+--------------+
| 1 | 1388.00 | 277.60 |
| 4 | 58.00 | 11.60 |
| 3 | 68.00 | 13.60 |
| 5 | 20.00 | 4.00 |
| 6 | 42.00 | 8.40 |
| 7 | 100.00 | 20.00 |
| 8 | 399.00 | 79.79 |
| 9 | 2298.00 | 459.60 |
| 10 | 1328.00 | 265.60 |
| 11 | 1300.00 | -1300.00 |
| 12 | 983.00 | 196.60 |
| 13 | 1311.00 | 262.20 |
| 14 | 2625.00 | 525.00 |
| 15 | 788.00 | 157.60 |
| 16 | 823.33 | 164.67 |
| 17 | 2300.00 | 460.00 |
| 18 | 2878.00 | 575.60 |
| 19 | 858.00 | 171.60 |
| 20 | 280.00 | 56.00 |
| 21 | 2000.00 | 400.00 |
| 22 | 5999.00 | 1199.80 |
| 23 | 3700.00 | 740.00 |
| 24 | 2000.00 | 400.00 |
| 25 | 48.00 | 9.59 |
| 26 | 19.00 | 3.80 |
| 27 | 95.00 | 5.00 |
| 28 | 45.00 | 5.00 |
| 29 | 90.00 | -90.00 |
| 30 | 18.00 | 3.00 |
| 31 | 1337.00 | 267.39 |
| 32 | 3010.00 | 602.00 |
+----------+------------+--------------+
31 rows in set (0.05 sec) mysql> #查询每个商品所积压的货款
mysql> select goods_id,goods_number*shop_price as '积压的货款' from goods;
+----------+------------+
| goods_id | 积压的货款 |
+----------+------------+
| 1 | 1388.00 |
| 4 | 986.00 |
| 3 | 1632.00 |
| 5 | 160.00 |
| 6 | 630.00 |
| 7 | 2000.00 |
| 8 | 399.00 |
| 9 | 9192.00 |
| 10 | 9296.00 |
| 11 | 1300.00 |
| 12 | 7864.00 |
| 13 | 10488.00 |
| 14 | 2625.00 |
| 15 | 2364.00 |
| 16 | 0.00 |
| 17 | 2300.00 |
| 18 | 2878.00 |
| 19 | 10296.00 |
| 20 | 3360.00 |
| 21 | 80000.00 |
| 22 | 5999.00 |
| 23 | 29600.00 |
| 24 | 200000.00 |
| 25 | 96.00 |
| 26 | 38.00 |
| 27 | 190.00 |
| 28 | 0.00 |
| 29 | 0.00 |
| 30 | 162.00 |
| 31 | 1337.00 |
| 32 | 12040.00 |
+----------+------------+
31 rows in set (0.01 sec) mysql> #查询积压的总货款
mysql> select sum(shop_price*goods_number) as '积压的总货款' from goods;
+--------------+
| 积压的总货款 |
+--------------+
| 398620.00 |
+--------------+
1 row in set (0.00 sec) mysql> #查询每个栏目积压的货款
mysql> select cat_id,sum(shop_price*goods_number) as '积压的货款' from goods gro
up by cat_id;
+--------+------------+
| cat_id | 积压的货款 |
+--------+------------+
| 2 | 0.00 |
| 3 | 356235.00 |
| 4 | 6891.00 |
| 5 | 29600.00 |
| 8 | 4618.00 |
| 11 | 790.00 |
| 13 | 134.00 |
| 14 | 162.00 |
| 15 | 190.00 |
+--------+------------+
9 rows in set (0.00 sec) mysql> #查询比市场价省钱200元以上的商品及该商品所省的钱
mysql> select goods_id,market_price-shop_price as 'sheng' from goods where marke
t_price-shop_price>200;
+----------+---------+
| goods_id | sheng |
+----------+---------+
| 1 | 277.60 |
| 9 | 459.60 |
| 10 | 265.60 |
| 13 | 262.20 |
| 14 | 525.00 |
| 17 | 460.00 |
| 18 | 575.60 |
| 21 | 400.00 |
| 22 | 1199.80 |
| 23 | 740.00 |
| 24 | 400.00 |
| 31 | 267.39 |
| 32 | 602.00 |
+----------+---------+
13 rows in set (0.12 sec) mysql> select goods_id,market_price-shop_price as 'sheng' from goods having shen
g>200;
+----------+---------+
| goods_id | sheng |
+----------+---------+
| 1 | 277.60 |
| 9 | 459.60 |
| 10 | 265.60 |
| 13 | 262.20 |
| 14 | 525.00 |
| 17 | 460.00 |
| 18 | 575.60 |
| 21 | 400.00 |
| 22 | 1199.80 |
| 23 | 740.00 |
| 24 | 400.00 |
| 31 | 267.39 |
| 32 | 602.00 |
+----------+---------+
13 rows in set (0.00 sec) mysql> #查询货款大于2w的栏目,以及该栏目积压的货款
mysql> select cat_id,sum(goods_number*shop_price) as huokuan from goods group by
cat_id having huokuan>20000;
+--------+-----------+
| cat_id | huokuan |
+--------+-----------+
| 3 | 356235.00 |
| 5 | 29600.00 |
+--------+-----------+
2 rows in set (0.01 sec) mysql>