(影响16个数据列)
此查询没有 WHERE 子句-您并不需要。结果集显示了一个 title_id 数据行以及一个没有标题的摘要数据行。对每个不同的 title_id,各个书籍的总销售量显示在摘要数据行。例如,title_id 为 BU1032的书籍在 sales数据表出现了两次-一次在 qty数据行显示销售了 5 本, 第二次在另一个订单中销售了 10 本。SUM 汇总函数总和这两次的销售得出 15 本的总量,并显示于摘要数据行。要为摘要数据行加上一个标题,可使用 AS 关键词:
SELECT title_id, SUM(qty) AS "Total Sales"
FROM sales
GROUP BY title_id
GO
现在结果集中的摘要资料行标题为 Total Sales:
title_id Total Sales
-------- ------------
BU1032 15
BU1111 25
BU2075 35
BU7832 15
MC2222 10
MC3021 40
PC1035 30
PC8888 50
PS1372 20
PS2091 108
PS2106 25
PS3333 15
PS7777 25
TC3218 40
TC4203 20
TC7777 20
(影响16个数据列)
您可以在 GROUP BY 子句中包含一个以上的数据行让群组巢状化。 巢状群组 (nesting groups)意味着结果集将以每个群组数据行被指定的顺序来进行群组化的工作。例如,要找出已经依类型及出版商群组化的书籍的平均价格,可执行下列查询:
SELECT type, pub_id, AVG(price ) AS "Average Price"
FROM titles
GROUP BY type, pub_id
GO
结果集如下:
type pub_id Average Price
------------ ------ ------------------------
business 0736 2.99
psychology 0736 11.48
UNDECIDED 0877 NULL
mod_cook 0877 11.49
psychology 0877 21.59
trad_cook 0877 15.96
business 1389 17.31
popular_comp 1389 21.48