DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE
 
 
SITE SEARCH SQLUSA.com VIDEOS
 
 
SQL E/BOOKS   WORLD, USA & SQL NEWS   FORMAT
SCRIPTS SQL 2005 SQL 2008 ARTICLES
How to combine GROUP BY with CTE?

Execute the following Microsoft SQL Server T-SQL script in SSMS Query Editor to demonstrate the use of GROUP BY on a CTE to create summary report.

-- SQL Server CTE - T-SQL CTE - SQL Server Common Table Expression

-- SQL Server GROUP BY with CTE

USE AdventureWorks2008;

WITH cteSales AS

(

  SELECT

         p.[FirstName] + ' ' + COALESCE(p.[MiddleName], '') + ' ' +

         p.[LastName] AS [FullName]

        ,e.[JobTitle]

        ,st.[Name] AS [SalesTerritory]

        ,soh.[SubTotal]

        ,YEAR(DATEADD(m, 6, soh.[OrderDate])) AS [FiscalYear]

        ,soh.[SalesPersonID]

    FROM [Sales].[SalesPerson] sp

        INNER JOIN [Sales].[SalesOrderHeader] soh

                  ON sp.[BusinessEntityID] = soh.[SalesPersonID]

        INNER JOIN [Sales].[SalesTerritory] st

                  ON sp.[TerritoryID] = st.[TerritoryID]

        INNER JOIN [HumanResources].[Employee] e

                  ON soh.[SalesPersonID] = e.[BusinessEntityID]

        INNER JOIN [Person].[Person] p

                  ON p.[BusinessEntityID] = sp.[BusinessEntityID]

)

 

SELECT SalesTerritory, FiscalYear, FullName,

      Total = '$'+convert(varchar,SUM([SubTotal]),1)

FROM cteSales c

GROUP BY SalesTerritory, FiscalYear, FullName

ORDER BY SalesTerritory, FiscalYear, FullName

GO

 

 

Partial results:

SalesTerritory FiscalYear FullName Total
Australia 2004 Lynn N Tsoflias $1,758,385.93
Canada 2002 Garrett R Vargas $1,135,639.26
Canada 2002 José Edvaldo Saraiva $2,532,500.91
Canada 2003 Garrett R Vargas $1,480,136.01
Canada 2003 José Edvaldo Saraiva $1,488,793.34

 

 

Exam Prep 70-461
SQL 2016 DESIGN & PROGRAMMING
 
 
 
DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE