У меня есть таблица, которая представляет собой журнал заказов с itemID
и orderTime
(в datetime
). Я знаю, что может получить заказы конкретных предметов на определенный день, как:SQL- Количество раз, когда каждый элемент заказывается каждый день
select
itemID, count(itemID) as Sep14
from
tableName
where
itemID in (5, 6, 9)
and orderTime between 'sep 14 2014 00:00:01' and 'sep 14 2014 23:59:59'
group by
itemID
То, что я хотел бы сделать, это получить те же результаты, но в течение более длительного периода времени с результатами в ведрах дней, поэтому выходной будет похожее на:
itemiD Sep14 Sep15 Sep16
------ ----- ----- -----
5 0 2 1
6 3 3 0
9 2 1 2
Любая помощь очень ценится.
Какой db вы используете? MySql? Сервер Sql? – Eric
Это в SQL Server – dotMPEG
Пожалуйста, не используйте 'BETWEEN' и« конец »дня, как 23:59:59 (так как заказ может состояться в 23: 59: 59.01). Пожалуйста, прочитайте [это] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx) и [это] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/16/bad-habits-to-kick-mishandling-date-range-queries.aspx). –