order by 与group by的区别!

原创 2015年07月06日 22:31:37

一、提出问题:


二、order by只是对字段进行排序,而group by 不仅排序还有对重复行进行过滤的功能。

三、先对字段ustate进行了in筛选,得到字段的值为0,2,3的值(这时已经过滤掉了字段ustate为1的值),然后再对ustate字段进行分组,就是把字段ustate为0,2,3的值分为一组,由于输出显示uid和uname字段都是显示多行的,而group up按照sql标准是显示一行的,所以,最终输出的结果就是只取数据的第一行来显示。

四、例子:统计每个区域的总人口和总面积:

select region,sun(population),sum(area)

from chinese

group by region

先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。
五、group by  having 用法:
显示每个地区的总人口数和总面积.仅显示那些面积超过1000000的地区。
ELECT region, SUM(population), SUM(area)
  FROM bbc
  GROUP BY region
  HAVING SUM(area) > 1000000
在这里,我们不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。相反,HAVING子句可以让我们筛选成组后的各组数据.
六、group by 用于分组显示数据
比如这样一张表
name work
张三 扫地
张三 做饭
李四 洗衣
你的目标是查看两个人分别作了几件事,注意你的主要目的是看他们做了几件事,而不是做了具体的什么事。
那么SQL 语句就是
select name,count(*) from tab group by name
1显示字段中必须有聚合函数
2group by 后面的字段必须在select中出现
3select中的非聚合字段必须在group中
 在进行数据库操作时,常用到添加、删除、修改等语句,这就经常会用到下面这些常用的SQL语句









版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

oracle 中group by和 order by的区别

group by 从英文里理解就是分组。必须有“聚合函数”(分组函数)来配合才能使用,使用时至少需要一个分组标志字段。 什么是“聚合函数”? 像sum()、count()、avg()等都...
  • csu_vv
  • csu_vv
  • 2012-08-14 16:20
  • 1124

order by 、group by 、having的用法区别(转)

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

order by 、group by 、having的用法区别

order by 从英文里理解就是行的排序方式,默认的为升序,最后加desc为降序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“...

sql语句中order by、group by和having的区别

order by 子句在查询执行之后对数据进行排序select surname,firstname from customer where city="a1" and firstname ="...

order by 、group by 、having的用法区别

order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)