• SQL 排序


    Order by,Having,Group by,limit区别

    1.ORDER BY

      排序方式,默认的为升序。order by 后面必须列出排序的字段名,可以是多个字段名

      order by是按指定的列的升序或降序来给查询结果排序,  它不需要查询结果中出现order by的栏位.  更改Order by里的栏位只会影响查询结果的顺序,而不影响查询出的记录总数,和每条记录的内容.

    2.GROUP BY

      就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。目的就是要将数据分类汇总。

      group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面

        注:聚合函数为sum()、count()、avg()等

      group by是按指定的列对满足Where条件的所有记录分组,并对组内的一些数值型栏位计算出每组的一个统计指标,如求和、求个数、求平均值、求最大值、求最小值。 它对查询结果有个要求:查询结果中的出现的栏位必须是Group by中栏位的子集。  更改Group by里栏位的顺序不会对查询结果有任何影响;  但是更改Group by的栏位,会对查询得到的记录数量,以及各个汇总函数的结果造成影响。

      在sql命令格式使用的先后顺序上,group by 先于 order by。

      EG:SELECT Sno,AVG(Grade) FORM SC  GROUP BY Sno

    3.HAVING

      having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。

      注意:当元组含有空值时,(1)空值在任何聚集操作中被忽视。,它对求和、求平均值和计数都没有影响,也不能是某列的最大值或最小值。(2)NULL值又可以在分组属性中看作是一个一般的值。

    HAVING子句在SELECT查询中的位置:

    1 SELECT
    2 FROM
    3 WHERE
    4 GROUP BY
    5 HAVING
    6 ORDER BY
  • 相关阅读:
    windchill系统——一些功能查找
    HTML常用标签——思维导图
    windchill系统——导航器v1.0:思维导图
    IOS动画总结
    面试 必备
    iOS 数据库操作(使用FMDB)
    IOS 面试
    iOS中常用的四种数据持久化方法简介
    数据持久化的复习
    多线程---代码
  • 原文地址:https://www.cnblogs.com/jiliangqian/p/8847278.html
Copyright © 2020-2023  润新知