group by使用

group by一般都是和聚合函数配合使用,当然,聚合函数可以不写省略。但是group by后边的字段,一定是查询字段之中除了聚合函数之外所有的字段。

SQL HAVING 出现的原因

  在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

SQL HAVING 语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value

人员信息表person:p

person_idperson_name
1展强
2宋丽

订单-人员order_person:op

order_idperson_id
11
21
32

订单表order:o
order_idprice
1100
2200
3300

查询每个人总的消费:

select p.person_id,sum(price)  from p,op,o 

where p.person.id=op.person.id and op.order.id = o.order_id

group by p.person_id

查询总的消费大于200的人员:

select p.person_id,sum(price)  from p,op,o 

where p.person.id=op.person.id and op.order.id = o.order_id

group by p.person_id

having  sum(price)>200


where、group by、having的使用顺序

  WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。 

  HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值