Tellimuste arv aasta ja kuude lõikes - ROLLUP, CUBE
SELECT ISNULL(CAST(Year(Orderdate) as Varchar), 'Kokku') as Aasta,
IsNULL(CAST(MONTH(OrderDate) as varchar), 'Kokku') as Kuu, COUNT(OrderID) as TellimusteArv
FROM Orders
GROUP BY Year(Orderdate) , MONTH(OrderDate) WITH ROllUP
--Tellimuste arv aasta lõikes
SELECT 'Tellimuste Arv' as 'Years', [1996],[1997],[1998] -- tabeli päis
FROM (SELECT OrderID, year(Orderdate) as OrderYears
FROM Orders) as Andmed --Andmed Pivot koostamiseks
PIVOT
(COUNT(OrderID) for OrderYears IN ([1996],[1997],[1998])) as Tabel --PIVOT funktsioon
--Klientide arv
SELECT OrderMonths as 'Kuu' ,[1996],[1997], [1998]-- tabeli päis
FROM (SELECT CustomerID, year(OrderDate) as OrderYears, month(orderdate) as OrderMonths
FROM Orders) as Andmed -- andmed Pivot koostamiseks
PIVOT
(COUNT(CustomerID) for OrderYears IN ([1996],[1997], [1998])) as Tabel
--Tellimuste arv ShipCountries ja aasta lõikes
SELECT Riik ,[1996],[1997], [1998]-- tabeli päis
FROM (SELECT Shipcountry as Riik ,Orderid, year(OrderDate) as OrderYears
FROM Orders
) as Andmed -- andmed Pivot koostamiseks
PIVOT
(COUNT(OrderID) for OrderYears IN ([1996],[1997], [1998])) as Tabel
--Klientide arv aasta lõikes
SELECT LastName,FirstName,Empl ,[1996],[1997], [1998]-- tabeli päis
FROM (SELECT E.EmployeeID as Empl,LastName,FirstName ,Orderid, year(OrderDate) as OrderYears
FROM Orders Inner JOIn Employees E ON E.EmployeeID =Orders.EmployeeID
) as Andmed -- andmed Pivot koostamiseks
PIVOT
(COUNT(OrderID) for OrderYears IN ([1996],[1997], [1998])) as Tabel
--Klientide arv aasta ja kuu lõikes - PIVOT
SELECT LastName,FirstName,Empl ,OrderYears, [1] 'Jaan',[2]'Veebr',[3]'Marts',[4]'Aprill',[5]'Mai',[6]'Juuni',[7]'Juuli', [8] 'August',[9] as 'September',[10] as 'Oktoober',[11] 'November',[12] 'Detsember'-- tabeli päis
FROM (SELECT E.EmployeeID as Empl,LastName,FirstName ,Orderid, year(OrderDate) as OrderYears, MONTH(OrderDate) as Kuud
FROM Orders JOIn Employees E ON E.EmployeeID =Orders.EmployeeID
) as Andmed -- andmed Pivot koostamiseks
PIVOT
(COUNT(OrderID) for Kuud IN ([1],[2],[3],[4],[5],[6],[7], [8] ,[9] ,[10] ,[11] ,[12] )) as Tabel
--Klientide arv aasta ja kuu lõikes - ROLLUP
select TOP 40 Orders.EmployeeID as Töötaja, LastName as Surname,Firstname as FirstName,
ISNULL(CAST(YEAR(OrderDate) as varchar), 'Total') as OrderYears,
ISNULL(CAST(Month(OrderDate) as Varchar),'Total') AS OrderMonths,COUNT(OrderID) as OrdersCOUNT
from Orders JOIN [Northwind].[dbo].[Employees] ON Orders.EmployeeID = [Northwind].[dbo].[Employees].EmployeeID
GROUP BY Orders.EmployeeID, LastName ,Firstname, YEAR(OrderDate), Month(OrderDate) WITH ROLLUP
--Tellimuste arv aasta lõikes - PIVOT
SELECT OrderYears as 'Aasta',[1] 'Jaan',[2]'Veebr',[3]'Marts',[4]'Aprill',[5]'Mai',[6]'Juuni',[7]'Juuli', [8] 'August',[9] as 'September',[10] as 'Oktoober',[11] 'November',[12] 'Detsember'
FROM (SELECT OrderID, year(Orderdate) as OrderYears, month(orderdate) as OrderMonths
FROM Orders ) as Andmed
PIVOT
(COUNT(OrderID) for OrderMonths IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) as Tabel