A summary query that includes a final summary row with 'WITH ROLLUP' : ROLLUP « Analytical Functions « SQL Server / T-SQL Tutorial

Home
SQL Server / T-SQL Tutorial
1.Query
2.Insert Delete Update
3.Table
4.Table Join
5.Data Types
6.Set Operations
7.Constraints
8.Subquery
9.Aggregate Functions
10.Date Functions
11.Math Functions
12.String Functions
13.Data Convert Functions
14.Analytical Functions
15.Sequence Indentity
16.View
17.Index
18.Cursor
19.Database
20.Transact SQL
21.Procedure Function
22.Trigger
23.Transaction
24.XML
25.System Functions
26.System Settings
27.System Tables Views
28.User Role
29.CLR
SQL Server / T-SQL Tutorial » Analytical Functions » ROLLUP 
14.8.2.A summary query that includes a final summary row with 'WITH ROLLUP'
3>
4>
5>
6create table Billings (
7>     BankerID           INTEGER,
8>     BillingNumber      INTEGER,
9>     BillingDate        datetime,
10>     BillingTotal       INTEGER,
11>     TermsID            INTEGER,
12>     BillingDueDate     datetime ,
13>     PaymentTotal       INTEGER,
14>     CreditTotal        INTEGER
15>
16);
17> GO
1>
2INSERT INTO Billings VALUES (11'2005-01-22', 1651,'2005-04-22',123,321);
3> GO

(rows affected)
1INSERT INTO Billings VALUES (22'2001-02-21', 1651,'2002-02-22',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (33'2003-05-02', 1651,'2005-04-12',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (44'1999-03-12', 1651,'2005-04-18',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (55'2000-04-23', 1651,'2005-04-17',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (66'2001-06-14', 1651,'2005-04-18',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (77'2002-07-15', 1651,'2005-04-19',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (88'2003-08-16', 1651,'2005-04-20',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (99'2004-09-17', 1651,'2005-04-21',123,321);
2> GO

(rows affected)
1INSERT INTO Billings VALUES (00'2005-10-18', 1651,'2005-04-22',123,321);
2> GO

(rows affected)
1>
2>
3>
4create table Bankers(
5>    BankerID             Integer,
6>    BankerName           VARCHAR(20),
7>    BankerContactLName   VARCHAR(20),
8>    BankerContactFName   VARCHAR(20),
9>    BankerCity           VARCHAR(20),
10>    BankerState          VARCHAR(20),
11>    BankerZipCode        VARCHAR(20),
12>    BankerPhone          VARCHAR(20)
13)
14> GO
1>
2insert into Bankers values (1'ABC Inc.','Joe','Smith','Vancouver','BC','11111','111-111-1111');
3> GO

(rows affected)
1insert into Bankers values (2'DEF Inc.','Red','Rice', 'New York', 'DE','22222','222-222-2222');
2> GO

(rows affected)
1insert into Bankers values (3'HJI Inc.','Kit','Cat',  'Paris',    'CA','33333','333-333-3333');
2> GO

(rows affected)
1insert into Bankers values (4'QWE Inc.','Git','Black','Regina',   'ER','44444','444-444-4444');
2> GO

(rows affected)
1insert into Bankers values (5'RTY Inc.','Wil','Lee',  'Toronto',  'YU','55555','555-555-5555');
2> GO

(rows affected)
1insert into Bankers values (6'YUI Inc.','Ted','Larry','Calgary',  'TY','66666','666-666-6666');
2> GO

(rows affected)
1insert into Bankers values (7'OIP Inc.','Yam','Act',  'San Franc','FG','77777','777-777-7777');
2> GO

(rows affected)
1insert into Bankers values (8'SAD Inc.','Hit','Eat',  'Orland',   'PO','88888','888-888-8888');
2> GO

(rows affected)
1insert into Bankers values (9'DFG Inc.','Sad','Lee',  'Wisler',   'PL','99999','999-999-9999');
2> GO

(rows affected)
1insert into Bankers values (0'GHJ Inc.','Bit','Lee',  'Ticker',   'MN','00000','000-000-0000');
2> GO

(rows affected)
1>
2>
3SELECT BankerID, COUNT(*AS BillingCount,
4>     SUM(BillingTotalAS BillingTotal
5FROM Billings
6> GROUP BY BankerID WITH ROLLUP
7> GO
BankerID    BillingCount BillingTotal
----------- ------------ ------------
          0            1          165
          1            1          165
          2            1          165
          3            1          165
          4            1          165
          5            1          165
          6            1          165
          7            1          165
          8            1          165
          9            1          165
       NULL           10         1650

(11 rows affected)
1>
2>
3> drop table Billings;
4> drop table Bankers;
5> GO
14.8.ROLLUP
14.8.1.Using the ROLLUP Operator
14.8.2.A summary query that includes a final summary row with 'WITH ROLLUP'
14.8.3.Group hierarchy using the ROLLUP operator is determined by the order in which the grouping columns are specified.
14.8.4.A summary query that includes a summary row for each grouping level
14.8.5.WITH ROLLUP for calculating subtotals and totals on the first column in the GROUP BY column list
14.8.6.Summarizing Data with ROLLUP
14.8.7.ROLLUP Returns Super Aggregation Only in One Direction
14.8.8.Using ROLLUP to Get the Order Count by Year and Month
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.