Если вы пытаетесь подсчитать день ото дня, но начать день в 18:00 а не в полночь, просто добавить смещение времени:
select cast(timestamp + 0.25 as date) as theday, count(barcode)
from table1
group by cast(timestamp + 0.25 as date)
order by theday desc;
Если вы хотите сделать счетчик для 6p.m. - 6 м.д. в течение нескольких дней:
select cast(timestamp + 0.25 as date) as theday, count(barcode)
from table1
where datepart(hh, timestamp) in (18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5)
group by cast(timestamp + 0.25 as date)
order by theday desc;
За самый последний день, вы могли бы сделать:
select top 1 cast(timestamp + 0.25 as date) as theday, count(barcode)
from table1
where datepart(hh, timestamp) in (18, 19, 20, 21, 22, 23, 0, 1, 2, 3, 4, 5)
group by cast(timestamp + 0.25 as date)
order by theday desc;
Какую версию SQL Server, пожалуйста? –
версия SQL sever 2008 – nadG
Вы имеете в виду между? – Jodrell