Cumulative Sum WITH Partition (Running Total by Customer)
| Id | Customer | SaleDate | Amount |
| 1 | A | 2025-01-01 | 100 |
| 2 | A | 2025-01-03 | 150 |
| 3 | A | 2025-01-05 | 200 |
| 4 | B | 2025-01-02 | 80 |
| 5 | B | 2025-01-04 | 120 |
| 6 | B | 2025-01-06 | 300 |
SELECT
Customer,
SaleDate,
Amount,
SUM(Amount) OVER (
PARTITION BY Customer
ORDER BY SaleDate
) AS CumulativeAmount
FROM Sales
ORDER BY Customer, SaleDate;
Result
| Customer | SaleDate | Amount | CumulativeAmount |
| A | 2025-01-01 | 100 | 100 |
| A | 2025-01-03 | 150 | 250 |
| A | 2025-01-05 | 200 | 450 |
| Customer | SaleDate | Amount | CumulativeAmount |
| B | 2025-01-02 | 80 | 80 |
| B | 2025-01-04 | 120 | 200 |
| B | 2025-01-06 | 300 | 500 |
3. Cumulative Sum by Month (Running total within each month)
SELECT
FORMAT(SaleDate,’yyyy-MM’) AS SaleMonth,
SaleDate,
Amount,
SUM(Amount) OVER (
PARTITION BY YEAR(SaleDate), MONTH(SaleDate)
ORDER BY SaleDate
) AS MonthlyRunningTotal
FROM Sales
ORDER BY SaleDate;
Result
| SaleMonth | SaleDate | Amount | MonthlyRunningTotal |
| 2025-01 | 2025-01-01 | 100 | 100 |
| 2025-01 | 2025-01-05 | 150 | 250 |
| 2025-01 | 2025-01-20 | 200 | 450 |
- STUFF
Name
Prabhakaran
Rakesh
Ramya
Result
Name
Prabhakaran,Rakesh,Ramya
| EmpID | Name | HireDate |
| 1 | John | 2020-02-10 |
| 2 | Peter | 2021-06-15 |
| 3 | Mary | 2020-11-05 |
| 4 | David | 2022-04-09 |
| 5 | Sam | 2021-03-22 |
Employees hired in SAME YEAR
SELECT
e1.Name AS Employee1,
e2.Name AS Employee2,
YEAR(e1.HireDate) AS HireYear
FROM Employees e1
JOIN Employees e2
ON YEAR(e1.HireDate) = YEAR(e2.HireDate)
AND e1.EmpID <> e2.EmpID
ORDER BY HireYear, Employee1;
| Employee1 | Employee2 | HireYear |
| John | Mary | 2020 |
| Mary | John | 2020 |
Emailed
Name Provider
Prabhakaran gmail
Rakesh gmail
Ramay yahoo


Leave a Reply