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>
mysql查询练习的更多相关文章
- mysql查询性能优化
mysql查询过程: 客户端发送查询请求. 服务器检查查询缓存,如果命中缓存,则返回结果,否则,继续执行. 服务器进行sql解析,预处理,再由优化器生成执行计划. Mysql调用存储引擎API执行优化 ...
- Mysql查询——深入学习
1.开篇 之前上一篇的随笔基本上是单表的查询,也是mysql查询的一个基本.接下来我们要看看两个表以上的查询如何得到我们想要的结果. 在学习的过程中我们一起进步,成长.有什么写的不对的还望可以指出. ...
- Mysql 查询练习
Mysql 查询练习 ---创建班级表 create table class( cid int auto_increment primary key, caption ) )engine=innodb ...
- mysql 查询去重 distinct
mysql 查询去重 distinct 待完善内容..
- MySQl查询区分大小写的解决办法
通过查询资料发现需要设置collate(校对) . collate规则: *_bin: 表示的是binary case sensitive collation,也就是说是区分大小写的 *_cs: ca ...
- 【转】mysql查询结果输出到文件
转自:http://www.cnblogs.com/emanlee/p/4233602.html mysql查询结果导出/输出/写入到文件 方法一: 直接执行命令: mysql> select ...
- MySQL查询缓存
MySQL查询缓存 用于保存MySQL查询语句返回的完整结果,被命中时,MySQL会立即返回结果,省去解析.优化和执行等阶段. 如何检查缓存? MySQL保存结果于缓存中: 把SELECT语句本身做h ...
- mysql 查询数据时按照A-Z顺序排序返回结果集
mysql 查询数据时按照A-Z顺序排序返回结果集 $sql = "SELECT * , ELT( INTERVAL( CONV( HEX( left( name, 1 ) ) , 16, ...
- MySQL查询今天/本周/上周/本月/上个月份的数据
MySQL查询的方式很多,下面为您介绍的MySQL查询实现的是查询本周.上周.本月.上个月份的数据,如果您对MySQL查询方面感兴趣的话,不妨一看. 查询当前今天的数据 SELECT name,sub ...
- [转]向facebook学习,通过协程实现mysql查询的异步化
FROM : 通过协程实现mysql查询的异步化 前言 最近学习了赵海平的演讲,了解到facebook的mysql查询可以进行异步化,从而提高性能.由于facebook实现的比较早,他们不得不对php ...
随机推荐
- HTML5,CSS3 与 Javascript 制作视频播放器
早一段时间,有一直研究 HTML5 和 CSS3 ,自己也做了不少 Demo ,只是 HTML5 Video 和 Audio 由于自己平时比较喜欢留意不同的播放器,因此特别想做一个自己喜欢的设计,考虑 ...
- C# winform自定义Label控件使其能设置行距
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- [OpenSource]浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个 ...
- Node.js 创建第一个应用
如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi. 从这个角度看,整个"接收 HTTP 请求并提供 ...
- android中如何实现离线缓存
离线缓存就是在网络畅通的情况下将从服务器收到的数据保存到本地,当网络断开之后直接读取本地文件中的数据. 将网络数据保存到本地: 你可以自己写一个保存数据成本地文件的方法,保存在android系统的任意 ...
- oracle执行.sql文件
->win+R; ->CMD; ->SQLPLUS /NOLOG; ->CONNECT USER/PASSWORD@ORCL; ->@D:/XXX.SQL;
- JZ2440开发笔记(9)——位置无关代码设计【转】
b MAIN 和 ldr pc,=MAIN 的区别(谈到代码位置无关性) 看bootloader的时候经常看到这两种写法,不太明白区别,网上查了查.其实看了之后还是一头雾水? 其中,2和3 似乎是一个 ...
- JSP-讲解(生成java类、静态导入与动态导入)
一.JSP技术简介 JSP是Java Server Page的缩写,它是Servlet的扩展,它的作用是简化网站的创建和维护. JSP是HTML代码与Java代码的混合体. JSP文件通常以JSP或J ...
- [TYVJ1827]『Citric II』一道防AK好题
时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 第二届『Citric杯』NOIP提高组模拟赛第一题 描述 Lemon认为在第一届『Citric』杯模拟赛中出的 ...
- bzoj 1875 [SDOI2009]HH去散步(矩乘)
Description HH有个一成不变的习惯,喜欢饭后百步走.所谓百步走,就是散步,就是在一定的时间 内,走过一定的距离. 但是同时HH又是个喜欢变化的人,所以他不会立刻沿着刚刚走来的路走回. 又因 ...