У меня есть таблица в моей базе данных под названием продажи:Включение все даты в дату диапазоны
SaleID (PK)
Quantity
Date
Time
TotalPrice
TransactionID (FK)
Я тогда тестовую таблицу, в одной и той же базе данных со следующей структурой:
SaleID (PK)
DateFrom
DateTo
TotalPrice
AveragePrice
В у меня есть 60 000 дат. В моем тестовом столе я хотел бы, чтобы date from
и date to
были в неделю. Так, например:
DateFrom - 1st January 2016.
DateTo - 7th January 2016.
AveragePrice - 20,000
Это позволило бы мне просмотреть среднюю продажу за неделю. Есть ли способ принять все даты от продажи в 7-дневном диапазоне и вставить их в тест? Я не могу придумать запрос, который бы сделал эту работу. Я знаю, как сделать запрос в течение одной недели:
SELECT * FROM sale where date between 'January 1 2016' and 'January 7 2016'
Однако я не уверен, как я бы вставить 1 января 2016 как FromDate и 7 января 2016 года, как Todate и сделать это для каждого диапазона 7 дней. Является ли это возможным?
Почему бы просто не использовать функцию weekofyear для возврата 1-53 на основе даты и использовать ее для анализа? (функция зависит от фактической РСУБД, и вы указали mySQL, а также SQL-сервер, чтобы эти функции менялись.) ([datePart] (https://msdn.microsoft.com/en-us/library/ms174420.aspx) SQL server, [weekofYear] (https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekofyear) mySQL) – xQbert
mysql или sql-server? –
@xQbert Я не знал об этой функции. Это звучит, как идеальный способ, чтобы идти об этом, хотя. Я использую MySQL. – Someguywhocodes