Time 6 am means sales bitween 5 am - 6 am
Items = any product employee sold
Sales = total hour sales
Ticket = total ticket created
Drop = money drop to the safe
this SQL will return both count of tickets and total amount sold in between hours.
Qty of sold items is a little bit tricky… i have to do a join and count orders… will take a little bit longer
SELECT
min(datename(dw,[Date])) as Dia,
min(convert(nvarchar,Tickets.Date,105)) as Date,
COUNT(CASE WHEN DATEPART(hour, [Date]) BETWEEN 17 AND 18 THEN 1 ELSE NULL END),
sum(CASE WHEN DATEPART(hour, [Date]) BETWEEN 17 AND 18 THEN TotalAmount ELSE 0 END),
COUNT(CASE WHEN DATEPART(hour, [Date]) BETWEEN 19 AND 20 THEN 1 ELSE NULL END),
sum(CASE WHEN DATEPART(hour, [Date]) BETWEEN 19 AND 20 THEN TotalAmount ELSE 0 END),
COUNT(CASE WHEN DATEPART(hour, [Date]) BETWEEN 21 AND 22 THEN 1 ELSE NULL END),
sum(CASE WHEN DATEPART(hour, [Date]) BETWEEN 21 AND 22 THEN TotalAmount ELSE 0 END),
COUNT(CASE WHEN DATEPART(hour, [Date]) BETWEEN 23 AND 24 THEN 1 ELSE NULL END),
sum(CASE WHEN DATEPART(hour, [Date]) BETWEEN 23 AND 24 THEN TotalAmount ELSE 0 END)
FROM Tickets
WHERE Date > '{Start}' and Date < '{End}'
GROUP BY Convert(nvarchar(20),Date,105)