`
wing123
  • 浏览: 788859 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

order by 和 group by 的区别

SQL 
阅读更多

sql 里的 order by group by 的区别:

 

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。

 

group by 从英文里理解就是分组。必须有聚合函数来配合才能使用,使用时至少需要一个分组标志字段。

 

 什么是聚合函数

 

    像sum()count()avg()等都是聚合函数

 

    使用group by 的目的就是要将数据分类汇总。

 

一般如:

 

select 单位名称,count(职工id),sum(职工工资) form [某表] group by 单位名称

 

这样的运行结果就是以单位名称为分类标志统计各单位的职工人数和工资总额。

 

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

 

select 命令的标准格式如下:

 

 SELECT select_list   

 

[ INTO new_table ]   

 

FROM table_source   

 

[ WHERE search_condition ]   

 

[ GROUP BY group_by_expression ]   

 

[ HAVING search_condition ]   

 

[ ORDER BY order_expression [ ASC | DESC ] ]

 

order by 是按字段排序

 

group by 是按字段分类

 

select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;

当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件

 

备注:

 

我认为,order by 和 group by 都有按给定的字段归类的意思,只是使用聚合函数时要用group by 真对使用了聚合函数的字段进行分组归类,有一定的局限性

 

 

 

分享到:
评论

相关推荐

    group by + order by

    group by的使用,order by的使用,以及 group by + order by的一起使用。

    sql中 order by 和 group by的区别

    order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志...

    order by 、group by 、having的用法

    order by 、group by 、having的用法区别 order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来...

    order_by_、group_by_、having的用法区别

    order_by_、group_by_、having的用法区别

    深入解析mysql中order by与group by的顺序问题

    mysql 中order by 与group by的顺序是:selectfromwheregroup byorder by注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group ...

    mysql中order by与group by的区别

    order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是... 您可能感兴趣的文章:sql中 order by 和 group by的区别深度分析mysql GROUP BY 与 ORDER BYgroup by,having,o

    【mysql知识点整理】— order by 、group by 出现Using filesort原因详解

    文章目录测试数据1 sql执行顺序2 order by 和 group by什么时候会出现Using filesort — 理论3 order by 和 group by什么时候会出现Using filesort — 实践3.1 不会出现 Using filesort的情况 — 符合最佳左前缀法则...

    order_by_、group_by_、having的用法区别.doc

    order_by_、group_by_、having的用法区别.doc

    Mysql中order by、group by、having的区别深入分析

    一般如: select 单位名称,count(职工id),sum(职工工资) form [某表] group by 单位名称 这样的运行结果就是以“单位名称”为分类标志统计各单位的职工人数和工资总额。 在sql命令格式使用的先后

    深度分析mysql GROUP BY 与 ORDER BY

    本文就和大家一起深入研究下mysql中group by与order by.下面是我模拟我的内容表   我现在需要取出每个分类中最新的内容 select * from test group by category_id order by `date` 结果如下   明显。这不是我想...

    order_by_、group_by_、having的用法

    order_by_、group_by_、having

    mysql分组取每组前几条记录(排名) 附group by与order by的研究

    –按某一字段分组取最大(小)值所在行的数据 代码如下: /* 数据如下: nameval memo a 2 a2(a的第二个值) a 1 a1–a的第一个值 a 3 a3:a的第三个值 b 1 b1–b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b ...

    MySQL group by和order by如何一起使用

    假设有一个表:reward(奖励表),表结构如下: CREATE TABLE test.reward ( id int(11) NOT NULL AUTO_INCREMENT, uid int(11) NOT NULL COMMENT '用户uid', money decimal(10, 2) NOT NULL COMMENT '奖励金额'...

    C# 中的GroupBy的动态拼接问题及GroupBy用法介绍

    废话不多说了,直接给大家贴代码了,具体代码如下所示: public class Person { public string FirstName{set;get;} public string LastName{set;get;} public Person(){} public Person(string firstName, ...

    解决C#中Linq GroupBy 和OrderBy失效的方法

    在一个数据列表中我用了Linq GroupBy 和OrderBy。 排序在本机正常使用,发到测试后排序死活不对,总以为是程序问题。于是请教了别人有了以下的答案。 问题原因和解决方法 因为服务器装的是英文版操作系统,没有中文...

    详解partition by和group by对比

    今天大概弄懂了partition by和group by的区别联系。 1. group by是分组函数,partition by是分析函数(然后像sum()等是聚合函数); 2. 在执行顺序上, 以下是常用sql关键字的优先级 from > where > group by > ...

Global site tag (gtag.js) - Google Analytics