MySQL中DQL的查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36241003/article/details/82344662

DQL查询

1.排序查询

order by 排序字段1,排序方式1,排序字段2,排序方式2... ;

排序方式 默认是升序的 ASC , DESC是降序排序.

组合排序
同时对多个字段排序,第一个字段相同,则按第二个字段排序,以此类推.

2.聚合函数

聚合函数: 将一列数据作为一个整体,进行纵向的计算.
count 计算列中的个数 
max 计算列中的最大值
min 计算列中的最小值
avg 计算列中的平均值
sum 计算列中的和

注意 所有的聚合函数的计算都排除了null 值 .
聚合函数一般都对主键计算.
用ifnull(表达式1,表达式2)来解决.
count(*) 只要每一列中有一个不为null就算一个.

3.分组查询

分组查询:统计具有相同特征的数据 把他们看成一个整体.
group by 分组字段1,分组字段2,...,分组字段n;

分组之后查询的字段只能是分组字段,聚合函数,因为查询其他的没有意义.
select sex,count(math) from student where math > 70 group by sex having count(id) > 2;

where 和 having的区别
1.where用在分组查询前进行限定(如不满足,则不参与分组),
 having在分组查询后进行限定(如不满足,则不会被查询到).
2.where后不能跟聚合函数,having可以

分页查询

数据太多时,需要分页显示
limit 开始的索引,每页查询的条数.

select * from student limit 0,3 -- 第一页
select * from student limit 3,3;  -- 第二页 
select * from student limit 6,3;  -- 第三页

开始的索引 = (当前的页码 - 1) * 每页的显示条数
limit 是MySQL的方言

猜你喜欢

转载自blog.csdn.net/qq_36241003/article/details/82344662