# 插入记录 /* INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001'); INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001'); INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001'); INSERT INTO product(pid,pname,price,category_id) VALUES(4,'杰克琼斯',800,'c002'); INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002'); INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,NULL); INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002'); INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003'); INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003'); INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003'); INSERT INTO product(pid,pname,price,category_id) VALUES(11,'好想你枣',56,'c004'); INSERT INTO product(pid,pname,price,category_id) VALUES(12,'香飘飘奶茶',1,'c005'); INSERT INTO product(pid,pname,price,category_id) VALUES(13,'海澜之家',1,'c002'); */
SELECTcount(*) FROM product; # 求当前商品一共有多少件 SELECTcount(category_id) FROM product; # 查看当前有多少category_id不为空的商品 SELECTcount(*) FROM product WHERE price>500; # 计算商品价格大于500的商品个数是多少 SELECTmax(price) FROM product WHERE category_id='c001'; # 求category_id = c001的所有商品的价格最大值 SELECTmin(price) FROM product WHERE category_id='c002'; # 求category_id = c002的所有商品的价格最小值 SELECTsum(price) FROM product WHERE category_id='c001'; # 求所有category_id = c001的商品的价格总和 SELECTavg(price) FROM product; # 求所有商品的平均价格 SELECTavg(price)-max(price) FROM product; # 求所有商品的平均价格与价格最大值的差值
分组查询(group by)
having与where的区别:
having是在分组后对数据进行过滤.,where是在分组前对数据进行过滤。
having后面可以使用分组函数(统计函数),where后面不可以使用分组函数。
1 2 3 4 5
SELECT category_id FROM product GROUPBY category_id; # GROUPBY根据指定的字段对数据记录进行分组,分组后查看表中有哪些category_id SELECT category_id, max(price) FROM product GROUPBY category_id; # 查看每类商品的最大价格 SELECTavg(price), category_id FROM product GROUPBY category_id HAVINGavg(price)>600; # 将所有商品按组分类,获取每组的平均价格大于600的所有分组 SELECTcount(category_id) FROM product; # 统计各种类别商品的个数 SELECTcount(*),category_id FROM product GROUPBY category_id HAVINGcount(*)>1; # 统计各个分类商品的个数,且只显示个数大于1的信息
分页查询
介绍:浏览商品列表的时候,由于数据特别多,一页显示不完,一页一页的进行显示,这就是分页查询
分页查询语法:
1
SELECT 字段列表 FROM 表名 LIMIT M, N
说明:
limit是分页查询关键字
M表示开始行索引,默认是0
N表示查询条数
1 2 3 4 5 6 7 8 9
# 分页查询 # 格式: select 字段列表 from 表名 limit M, N # m:就代表从下标为m的位置开始分页 # n:代表提取多少条数据