分组查询(group by)

GROUP BY 语句根据一个或多个列对结果集进行分组。

建立一张表

create table orders(
	id int,
	product varchar(20),
	price float
	);
insert into orders(id,product,price) values(1,'电视',900);
insert into orders(id,product,price) values(2,'洗衣机',100);
insert into orders(id,product,price) values(3,'洗衣粉'90);
insert into orders(id,product,price) values(4,'电视',900);
insert into orders(id,product,price) values(5,'洗衣粉'90);
insert into orders(id,product,price) values(6,'洗衣粉'90);
对订单表中商品归类后,显示每一类商品的总价
select product,sum(price) from orders group by product;
--已经把原来的一组数据,现在分成了三组。在统计数据的时候,以组为单位
查询购买了几类商品,并且每类总结大于100的商品
select product,sum(price) from orders group by product having sum(price) >100;
查询购买了几类商品,并且商品的价格需要大于100,每类总价大于100的商品

select product,sum(price) from orders where price > 100 group by product having sum(price) > 100;
  • 注意
    使用where的条件,如果有分组,where的条件是分组之前的条件。
    新的关键字,having关键字进行分组的条件过滤。

总结
where关键字后不能使用聚集函数,而having可以使用聚集函数!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值