首页 > 数据库技术 > 详细

SQL 排序

时间:2018-04-15 14:02:44      阅读:198      评论:0      收藏:0      [点我收藏+]

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

 

SQL 排序

原文:https://www.cnblogs.com/jiliangqian/p/8847278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!