1、排序查询
(1)介绍
如果我们需要对读取的数据进行排序,我们就可以使用Mysql的order by字句来设定你想按哪个字段、哪中方式来进行排序,再返回搜索结果。
语法:
select
字段名1,字段名2...
from 表名
order by 字段名1 [asc | desc](asc是升序,desc是降序)字段名2 [asc | desc]...
(2)特点
1))
asc是升序,desc是降序,如果不懈默认升序
2))
order by 用于字句中可以支持单个字段,多个字段,表达式,函数,别名
注意:排序的时候,字段名的类型必须是数值类型或英文字符串(英文字符串按字典顺序排序)
3))
order by 字句,放在查询语句的最后面,LIMIT字句除外。
注意:关键字order by既可大写,又可小写。
示例:
以该表举例:
(1)使用价格排序(升序)
(2)使用价格排序(降序)
(3)在价格排序(降序)的基础上,以分类排序(降序)
2、聚合查询
(1)简介
之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询则是横向查询,它是对一列的值进行计算,然后返回一个单一的值;另外聚合函数会忽略空值。
(2)聚合函数
聚合函数 作用
count() 统计指定列不为NULL的记录行数
sum() 计算指定列的数值和,如果指定列的类型不是数值类型,那么计算结果是0
max() 计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
min() 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
avg() 计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0
示例:
以该表举例:
(1)查询商品的总条数
(2)查询价格大于200的商品的总条数
注意:该代码执行顺序是先执行 from product where price >=200,再执行count(pid);
(3)查询分类为‘cool’的所有商品价格的总和
(4)查询商品的最大价格