Дана таблица:
create table #orders (
orderid int,
orderdatetime datetime
)
Как лучше всего написать sql для вывода отчета, содержащего количество заказов за текущие и предыдущие 24 часа, общее количество заказов за текущий день и предыдущие 7 дней, общее количество заказов за текущую неделю и предыдущие 4 недели, а также общее количество заказов за месяц и предыдущие 6 месяцев?
Мне интересно, можно ли эффективно свернуть это в один sql с помощью аналитических функций, или если 4 оператора sql, генерирующие 4 группы данных, являются единственным (или лучшим) способом.
Кроме того, учитывая группировку по часам/дням/неделям, как это сделать на сервере sql? Дата и время кажутся занозой в заднице каждый раз, когда мне приходится делать с ними что-то подобное...
Идеи? Может быть, поместить в куб SSAS и сделать это оттуда?