DQL学习(排列查询)

              DQL学习

DQL:  

  1.排列查询:

    1.语法:order by 子句

      order by 排序字段1,排序字段2.......

     

    2.排序方式:

       ASC:升序,默认的。

       DESC:降序

     注意:

        如果出现多个排序条件,则当前面的条件一样是,才会判断第二个条件;

      如:

        1.我们按照年纪来进行升序来排,然后相同年纪的按成绩来排;

语句如下

SELECT * FROM text01 ORDER BY age ASC,score ASC;

2.把成绩倒序排序

SELECT * FROM text01 ORDER BY score DESC;

  2.聚合函数:将一列数据做为一个整体,进行纵向计算

    1.count:计算个数;但不会记null

select count(列名) FROM 表名;
select count(*) from 表名;
select (ifnull(列名)) from 表名;当需要对一组得个数时该组数据出现null时使用。

       1.一般选择非空得主键

       2.count(*)

    2.max:计算最大值 

select max(列) FROM 表名;

    3.min:计算最小值(方式同上)

    4.sum:计算和(方式同上)

    5.avg:计算平均值(方式同上)

    注意:聚合函数的计算是排除了null值得

      解决方式:1.选择不包含非空得列进行计算

          2.IFNULL函数

  3.分组查询:

    语法:select (分组的字段或者字符) from 表名 group by 列名;

  

       

      

       注意:

        1.分组之后的字段:分组字段,聚合函数

        2.where和having的区别

          1.where在分组之前进行限定,如果不满足条件,则不参与分组。

           having在分组之后进行限定,如果不满足结果,则不会被查询出来

          2.where后不可以跟聚合函数,having可以进行聚合函数的判断

  4.分页查询

    1.语法:limit 开始索引,每页查询的条数;

    2.公式:开始的索引=(当前页码-1)*每页显示的条数   

//如果每页显示3条数据,那么
select * from 表名 limit 03;   --第一页
select * from 表名 limit 33; --第二页
select * from 表名 limit 63; --第三页

    3.limit是mysql的一个”方言“;

原文地址:https://www.cnblogs.com/xiaobenke/p/13788112.html