sql分组数据

分组数据

group by

使用group by ,查询语句就必须写明查询的字段名,并且在group by语句中也要写明

SELECT
	state 
FROM
	sales.customers 
GROUP BY
	state

以上代码的意思就是根据by的规则来对数据进行分组,也可以将上面的代码理解为去重的意思。

GROUP BY子句和聚合函数

COUNT()函数返回每个组中的行数。
SELECT
	state,
	count( city ) 城市数量 
FROM
	sales.customers a 
GROUP BY
	state

返回以state为根据的分组数据,后面跟着这个组的城市的总数量。

year(*)

放进数据时间格式:2016-01-01.返回年份2016,

SELECT
	top 10 percent customer_id,
	YEAR ( order_date ),
	count( order_id ) 订单数 
FROM
	sales.orders 
GROUP BY
	customer_id,
	YEAR 
	(order_date)

可以知道哪个客户在哪一年下了多少单

SUM()
SELECT
	SUM( number ) 
FROM
	sales.orders 
GROUP BY
	number

将数字全部相加,得出总数返回。

AVG()
SELECT
	AVG( number ) 
FROM
	sales.orders 
GROUP BY
	number

返回平均数

MIN()
SELECT
	MIN( number ) 
FROM
	sales.orders 
GROUP BY
	number

返回最小的数值

MAX()
SELECT
	MAX( number ) 
FROM
	sales.orders 
GROUP BY
	number

返回最大的数值

注意:使用聚合函数去写判断语句时,不可以写在where里,必须写在having里,并且不可以使用别名来代替

select 
	state ,count(city) 城市数量 
from 
	sales.customers a
group by 
	state
having 
	count(city) > 100

查找城市数量大于100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值