文档介绍:第7章数据分组与汇总
使用 TOP n 列出前 n 个记录
使用聚合函数
GROUP BY 的基础知识
在结果集中生成汇总值
PUTE PUTE BY 子句
使用 TOP n 列出前 n 个记录
关键字 TOP n 只列出结果集中前 n 个或前 n% 的记录。使用 TOP n 或 TOP n PERCENT 时,应注意
在 ORDER BY 子句中指定值的范围
关键字 TOP 后使用无符号的整数
如果 TOP n PERCENT 生成小数,则 SQL Server 将把这个数取整
可以在结果集中用 WITH TIES 子句包含那些值相等的记录,这时结果集中可以包含任意数目的行
使用 TOP n 列出前 n 个记录(续)
统计order details表中每个订单的总销售数量,将结果集按数量降序排列,并返回前10行。
USE northwind
SELECT TOP 10 orderid
,(unitprice * quantity) as totalsale
From [order details]
Order by (unitprice * quantity) DESC
GO
orderid
totalsale
10865
10981
…
…
10861
(10row(s) affected)
示例1
使用 TOP n 列出前 n 个记录(续)
USE northwind
SELECT TOP 10 WITH TIES orderid
,(unitprice * quantity) as totalsale
From [order details]
Order by (unitprice * quantity) DESC
GO
示例2
orderid
totalsale
10865
10981
…
…
10861
10817
(11row(s) affected)
使用聚合函数
聚合函数
描述
AVG()
计算表达式中平均值
COUNT()
表达式中值的数目
COUNT (*)
所选择的行的数目
MAX()
表达式中的最大值
MIN()
表达式中最小值
SUM()
计算表达式中所有值的和
常见的聚合函数及其描述
使用聚合函数(续)
对包含空值的字段使用聚合函数时,应注意
SQL Server 的聚合函数(COUNT(*) 除外)将忽略字段中的空值
COUNT(*)将计算所有的行,即使每个字段都含有空值
使用聚合函数(续)
查询titles表中类型是’p’的书的平均价格
查询publishers表中供应商的数量
查询publishers表中供应商所在州的数量
select avg(price) as ‘平均价格’ from titles
where type= 'p'
select count(*) as ‘供应商数量’ from publishers
select count(state) as ‘供应商所在州的数量’ from publishers
使用聚合函数(续)
查询titles表中书的类型有几种
select count( type) from titles
select count( distinct type ) from titles
×
√
说明:允许count()、sum()、avg()和distinct一起处理列或表达式中不同的值