汇总数据

2016.12.1

十.汇总数据

汇总数据也称为聚合,它表示“合并到组中”。

10.1消除重复DISTINCT

这是汇总数据最基本的方法。

SELECT

DISTINCT

Columnlsit

FROM table

ORDER BY columnlist

DISTINCT总是出现在SELECT之后。DISTINCT表示只会返回后面的columnlist的列值唯一的那些行。

10.2 聚合函数

在第四篇中说的那些函数是标量函数,那些函数只能对单个的数或者值进行计算。聚合函数可以用于分组数据,常用的聚合函数有COUNT,SUM,AVG,MIN,MAX。它们提供了对分组数据进行计数,加权,取最小值,取最大值的方法。

SELECT

SUM(column) AS ’name 1’

AVG(column) AS ’name 2’

MIN(column) AS ’name 3’

MAX(column) AS ’name 4’

FROM table

WHERE condition

COUNT函数是用来返回所有选中行的数目,而不是任何特定列的值。

SELECT

COUNT(*) AS ‘name’

FROM table

WHERE condition

圆括号中的星号表示选中行“所有列”,返回的是行的数目。

SELECT

COUNT(column) AS ‘name’

FROM table

WHERE condition

也可以使用关键字DISTINCT.

SELECT

COUNT(DISTINCT column) AS ‘name’

FROM table

WHERE condition

10.3 分组数据

一旦数据分组,就可以使用聚合函数对可以计算和比较的每一组进行汇总统计了。

SELECT

columnlist

AVG/SUM/MIN/MAX(column)

FROM table

GROUP BY column

ORDER BY column

SELECT后面的columlist中的列要么是GROUP BY子句中出现的列,要么是聚合函数中出现的列。

10.4 多列和排序

SELECT

columnlist

AVG/SUM/MIN/MAX(column)

FROM table

GROUP BY column1,column2

ORDER BY column,column2

GROUP BY子句中的列的顺序没有意义,但ORDER BY子句中是有意义的。

10.5 基于聚合查询条件

数据分组后,针对带GROUP BY子句的SELECT句子应用任何查询条件时,必须要知道查询的条件是单独的行还是整个组。

WHERE子句是对单独的行执行查询条件。要对整个组执行查询添加条件要使用HAVING子句。

SELECT

columnlist

FROM tablist

WHERE condition

GROUP BY columnlist

HAVING condition

ORDER BY columnlist

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值