order by 与group by的区别!

一、提出问题:


二、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语句









  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值