order by和group by的区别

order by:

  用来对数据库的一组数据进行排序

    desc:降序

    asc:升序

group by:

  “By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。

原始表:

  

1、order by

  (1)降序

    

      

    (2)升序

    

      

2、group by分组

  (1)分类汇总

    

      

     (2)和order by连用

    

      

   (3)按几个条件分组,如下按照lei和info进行分组

    

    

   (4)和聚合函数一起使用

    

     

     查出每个lei有几条记录

     

    

     常见的聚合函数:

    

  

原文地址:https://www.cnblogs.com/rgever/p/9335075.html

时间: 2024-11-08 01:44:08

order by和group by的区别的相关文章

sql中order by和group by的区别

order by 和 group by 的区别: 1,order by 从英文里理解就是行的排序方式,默认的为升序. order by 后面必须列出排序的字段名,可以是多个字段名. 2,group by 从英文里理解就是分组.必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段. 3,在使用group by的语句中,只能select用于分类的列(表达式),或聚合函数.where条件用于group by之前,having用于group by 之后对结果进行筛选. 扩展资料: 一.ord

转 SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题

SQL Union和SQL Union All两者用法区别效率以及与order by 和 group by配合问题 SQL Union和SQL Union All用法 SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每条 SELECT 语句中的列的顺序必须相同. SQL UNION 语法 SELECT column_name(s) FROM tab

sum over用法,以及与group by的区别

1.sum over用法 sum(col1) over(partition by col2 order by col3 ) 以上的函数可以理解为:按col2 进行分组(partition ),每组以col3 进行排序(order),并进行连续加总(sum) 表a,内容如下: B   C  D 02 02 1 02 03 2 02 04 3 02 05 4 02 01 5 02 06 6 02 07 7 02 03 5 02 02 12 02 01 2 02 01 23 执行:SELECT   b

mysql 中order by 与group by的顺序

mysql 中order by 与group by的顺序 是: select from where group by order by 注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效.要查出group by中最大的或最小的某一字段使用 max或min函数. 例: select sum(click_num) as totalnum,max(update_time) as upd

2018-07-10聚合函数+比较条件+''和NULL+DISTINCT+ORDER BY+LIMIT+GROUP BY

''表示空字符串! NULL表示值未知! %表示任意个字符 _表示一个字符 COUNT(*)包括NULL值(会把所有列都统计一遍,取最大值)! COUNT(字段)不包括NULL值! SELECT * FROM PRODUCT //查询所有列,*表示所有列! SELECT PRO_NAME,PROTYPE_ID FROM PRODUCT //只查询其中两列! SELECT PRO_NAME AS 产品名称,PRICE AS 价格 FROM PRODUCT //用AS给字段添加别名! SELECT

order by、group by、having的区别

若还不了解sql的执行顺序,建议先看下sql执行顺序 "聚合函数"?像sum().count().avg()等都是"聚合函数"或组函数 order by 是对行的排序方式,默认的为升序. order by 后面必须列出排序的字段名,可以是多个字段名. group by 为分组函数,一般和聚合函数配合使用. GROUP BY子句中可以按一个列或多个列进行分组,参与分组的多个列有一个不相同就是不同的组,例如按姓名和年龄分组,必须姓名和年龄一致才算一组 一般如带"

SQL语句之order by 、group by、having、where

百度知道:1.order by是 按字段进行排序.. 字段后面可跟desc降序..asc升序..默认为升序2.group by是进行分组查询3.having和where都属于条件过滤 区别在于一般having是和group by连用... group by...having... 表示先分组再条件过滤而如果在group by前面有where,则是表示先条件过滤再分组 这个在实际中特殊的查询会影响到查询结果.PS: 这几条关键字是有先后顺序的,where...group by...having..

SQL compute by 的使用 主要是针对与 GROUP BY 的区别

GROUP BY子句有个缺点,就是返回的结果集中只有合计数据,而没有原始的详细记录.如果想在SQL SERVER中完成这项工作,可以使用COMPUTE BY子句.COMPTE生成合计作为附加的汇总列出现在结果集的最后.当与BY一起使用时,COMPUTE 子句在结果集内生成控制中断和分类汇总. 下列 SELECT 语句使用简单 COMPUTE 子句生成 titles 表中 price 及 advance 的求和总计: USE pubsSELECT type, price, advanceFROM 

mysql概要(四)order by,group 的特点,子查询

1.order by 默认按升序排列(asc/desc),多字段排序 order by 字段 排序方式,字段2 排序方式,..:在分组排序中,排序是对分组后的结局进行排序,而不是在组中进行排序. 2.limit 在语句最好,截取记录的条数.一般和order by 配合使用 limit[offset][N] offset: 偏移量   N:条数: 如limit(2,2),即从第三记录开始取两条记录.当一个参数时:limit 2,即从第一条记录开始取2条 3关于分组和聚合函数的一个问题,当分组时会从