zoukankan      html  css  js  c++  java
  • MySQL-DQL查询语句的其他方法查询

    1.查询语句

      order by 子句:

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

      排序方式:

          asc:升序(默认)

           desc:降序

      注意:

        如果有多个排序条件时,则当前边的条件值一样时,才会判断第二个条件 如:select * from student order by math desc, english asc(按照数学成绩降序排列,如果数学成绩一样,则按照英语成绩升序排列)

    2.聚合函数:将一列数据作为一个整体,进行纵向计算(比如计算数学吃绩这一列的平均分)

      Ⅰ.count:计算个数  

        count 排序的列

        根据某个列的属性来查询个数:

        select count(math) from student; 

           ②如果想要查询只要有一个数据不为空的就包含查询的个数,则:

           select count(*) from student; 

      Ⅱ.max:计算最大值

        select count(max) from student; 

      Ⅲ.min:计算最小值

        select count(min) from student;   

      Ⅳ.sum:求和

        select count(sum) from student; 

      Ⅴ.avg:计算平均值

        select count(avg) from student; 

      注意:所有的聚合函数都会排除空的数据,比如,根据英语成绩计算数量,如果有8个数据,其中一个的英语数据为null,则查询到的count为7 如:select count(english) from student;

          如果说非要根据英语成绩查询所有的数量且为8个,则使用ifnull 如:select count(ifnull(english,0)) from student;

    3.分组查询

      group by子句:

        group by 分组的字段

          根据性别分组查询性别的数学成绩平均分,人数   如:select sex, avg(math), count(id) from student group by sex;

          根据性别分组查询性别的数学成绩平均分,如果分数小于七十则不参与分组,分组之后,人数要大于2个人  如:select sex, avg(math), count(id) from student where math>70 group by sex having count(id)>2;

        注意:

        分组查询所查询的要么是分组的字段,要么是聚合函数的字段,否则分组查询就没有任何意义

        分组查询中的条件里,where和having的区别就在于:

          Ⅰ.where 在分组之前进行限定,如果不满足条件,则不参与分组   having是在分组之后进行限定,如果不满足条件,则不会被查询出来

            Ⅱ.where后不可以跟聚合函数,having后可以跟聚合函数

    4.分页查询

      limit子句:

        limit 开始的索引,每页查询的条数;

          显示学生的信息,每页显示三条记录:

          select * from student limit 0,3     --第一页(id为1,2,3的数据)

          select * from student limit 3,3     --第二页(id为4,5,6的数据)

          select * from student limit 6,3     --第三页(id为7,8,9的数据)

       查询的公式:

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

       注意:

        limit是MySQL独有的分页查询的方法,Oracle、SQL server等数据库的分页查询的方法和MySQL的方法不同

  • 相关阅读:
    去除文件及子文件的隐藏和只读属性
    一个比较全的C++农历算法(转)
    Activity 的窗口去头的方式
    SQL查询显示行号、随机查询、取指定行数据
    C++中map用法详解(转)
    窗口消息大全(转)
    CTreeCtrl的用法汇总(转)
    CTreeView和CTreeCtrl的使用方法(转)
    用CImage加载内存里的Image(转)
    序列化编程,保存和读取配置文件
  • 原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/11889253.html
Copyright © 2011-2022 走看看