Мне поручили отчет, в котором будет показана гистограмма, где ось Х - это часы сдвига, поэтому 1-8 по дну. Бары - это количество транзакций, совершаемых в час. Таким образом, гистограмма легко позволит вам увидеть, что в первый час мы обработали 30 заказов, час 2, которые мы обработали 25, и так далее, до конца смены.Данные запроса для часового отчета
У меня возникли проблемы с выяснением того, как на самом деле создать этот отчет. Это мой единственный вариант, чтобы сделать что-то вроде этого (понимаю, что это просто псевдо-код, не беспокойтесь, комментируя по вопросам синтаксиса):
create table #temp
(
Hour int,
Units int
)
insert into #temp
SELECT 1 as Hour, sum(Units) Units
FROM orders
WHERE DateCreated >= '6/14/2013 08:00:00' AND DateCreated < '6/14/2013 09:00:00'
insert into #temp
SELECT 2 as Hour, sum(Units) Units
FROM orders
WHERE DateCreated >= '6/14/2013 09:00:00' AND DateCreated < '6/14/2013 10:00:00'
insert into #temp
SELECT 3 as Hour, sum(Units) Units
FROM orders
WHERE DateCreated >= '6/14/2013 11:00:00' AND DateCreated < '6/14/2013 12:00:00'
.. and so on ..
select * from #temp
Кроме того, это в хранимой процедуре, которая требует отчет.
Есть ли лучший способ сделать это? Должен ли я просто отправлять данные всего дня в отчет и как-то обрабатывать его там? Любые идеи были бы оценены.
+1 Это дало мне гораздо лучше метод для получения данных мне нужно. Теперь я занимаюсь этим, если это решит мою проблему, я отмечу это как ответ. Спасибо! –