DQL:查询语句 (以下均为 单表查询)
1. 排序查询
语法:order by 子句
order by 排序字段1 排序方式1,排序字段2 排序方式2. . .
排序方式:
ASC:升序,默认的
DESC:降序
注意:如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
2. 聚合函数
将一列数据作为一个整体,进行纵向的计算
(会发现其结果都是单行单列的值,都是纵向计算的)
注:由于聚合函数的计算,会排除null值
解决方案(如下):
1.选择不包含null 即 非空的列 进行计算
2.使用ifnull函数
1. cout :计算个数
1.一般选择非空的列:主键
eg.
2. count(*) 只要有一个不为null,就能够算一条记录 (并不推荐使用)
2. max :计算最大值
3. min :计算最小值
4. sum :计算和
5. avg :计算平均值
3. 分组查询
1. 语法:group by 分组字段;
2. 注意:
1.分组之后 查询的字段(只有):分组字段、聚合函数
2.where 和 having 的区别?
1.where 在分组之前 进行限定,如果不满足条件,则不参与分组
having 在分组之后 进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having 可以 进行聚合函数的判断
为了方便 还可以 取别名:
4. 分页查询
1.语法:
limit 开始的索引,每页查询的条数;
(注:limit 这个分页操作是MySQL的“方言”)
-- 公式:开始的索引 = (当前的页码 -1)* 每页显示的条数
最后一页 如果不满 所限定的每页查询的条数,则有几条就查询出几条