在使用Group语句来做统计的时候,通常会需要对各种组合进行小结计算。今天看到了以前写的一些Sql语句,突然发现ROLLUP语句居然可以直接实现各种小结的计算功能。。。亏我以前还在DataView里面不停的计算。。。唉。
下面是在PUBS中应用ROLLUP的例子:
USE PUBS
/*注意以下两个查询的区别*/
SELECT STORES.STOR_NAME,TITLES.TITLE,SUM(SALES.QTY) AS SUMQTY
FROM SALES JOIN STORES
ON SALES.STOR_ID = STORES.STOR_ID
JOIN TITLES
ON SALES.TITLE_ID = TITLES.TITLE_ID
GROUP BY STORES.STOR_NAME,TITLES.TITLE
ORDER BY STORES.STOR_NAME,TITLES.TITLE
SELECT STORES.STOR_NAME,TITLES.TITLE,SUM(SALES.QTY) AS SUMQTY
FROM SALES JOIN STORES
ON SALES.STOR_ID = STORES.STOR_ID
JOIN TITLES
ON SALES.TITLE_ID = TITLES.TITLE_ID
GROUP BY STORES.STOR_NAME,TITLES.TITLE
WITH ROLLUP
ORDER BY STORES.STOR_NAME,TITLES.TITLE