数据库条件查询

排序查询

/*

排序查询:对查询结构进行排序

关键字:order by 字段名 [ASC|DESC]

ASC:升序(从小到大),默认的

DESC:降序(从大到小)

 

*/

# 查询所有记录的name和price,结构按照价格 从大到小进行排序

SELECT pname,price FROM product ORDER BY price DESC;

 

#1.查询所有商品信息,使用价格排序(降序)

SELECT * FROM product ORDER BY price DESC;

 

#2.查询所有商品信息,在价格排序(降序)的基础上,以分类排序(降序)

#先将查询结果 在价格上进行降序,如果价格相同再以分类进行降序,如果价格不相同,不在对分类进行排序

SELECT * FROM product ORDER BY price DESC,category_id DESC;

#3.显示商品的价格(去重复),并排序(降序)

SELECT DISTINCT price FROM product ORDER BY price DESC;

聚合查询

/*

聚合查询:

以前的查询都是横向记录查询

而聚合查询是 纵向个数查询

聚合查询的特点:查询到的结构 是单一值

聚合函数:

count:求记录数的聚合函数,count函数会自动忽略空值

以下四个,通常用于数值的计算

max:求最大值

min:求最小值

avg:求平均值

sum:求和

*/

 

#查询统计多有商品的个数

SELECT COUNT(*) FROM product;

#查询统计一共有多少个分类

SELECT COUNT(category_id) FROM product;

#查询所有商品价格的最大值

SELECT MAX(price) FROM product;

#查询所有商品价格的最小值

SELECT MIN(price) FROM product;

#查询所有商品价格的最平均值

SELECT AVG(price) FROM product;

 

#查询所有商品价格的总值

SELECT SUM(price) FROM product;

 

#查询所有商品价格的最大值,最小值,平均值,总和

SELECT MAX(price) AS 最大值,MIN(price) 最小值,AVG(price) 平均值,SUM(price) 总和 FROM product;

分组查询

/*

分组查询:

把查询数据分为几个组

关键字: group by 字段

先分组,再查询,具体查询到的结果数,取决于能分多少组

如果分组后 还有需要条件判断 那么请用having关键字

where和having的区别:

where 写在 基本查询后面的

having 写在 分组查询后面的

where后面是不能写 count sum等聚合函数

having后面可以写count和sum等聚合函数

*/

#查询所有以category_id分组后的价格的总和

# 具体有多少个总和 取决于可以分多少组

SELECT SUM(price) FROM product GROUP BY category_id;

 

#0 统计所有商品的个数

SELECT COUNT(*) FROM product;

 

#1 统计各个分类商品的个数

SELECT COUNT(*) FROM product GROUP BY category_id;

 

 

#2 统计各个分类商品的个数,且只显示个数大于1的信息

SELECT category_id, COUNT(*) 个数  FROM product  GROUP BY category_id  HAVING 个数 > 1;

分页查询

/*

分页查询:

只查询记录中的一部分

关键字: limit 数值1(下标,从0开始),数值2(需要查出来记录数)

*/

SELECT * FROM product LIMIT 0,5;

 

SELECT * FROM product LIMIT 5,5;

 

SELECT * FROM product LIMIT 10,5;

 

# 查询的公式: 假设每一页我要查询 n条 

 

# 第1页 limit (1-1)*n,n

# 第2页 limit (2-1)n,n

# 第100页 limit (100-1)*n,n

# 第m页 limit (m-1)*n,n

转载于:https://www.cnblogs.com/starsyh/p/10317300.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值