分组数据
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
的