@anonymouss

Как правильно написать запрос с датой?

Как правильно написать запрос с датой(не могу корректно написать ибо не могу понять)
"Вывести количество новых товаров в магазине - товаров которые были поставлены на протяжении последней недели(7 дней)"
Делал такое:
SELECT COUNT(Product.idProduct) FROM Product WHERE Product.idProduct IN
 (SELECT Dalivery.idProduct FROM Dalivery 
WHERE (YEAR(Dalivery.DateDelivery) BETWEEN YEAR(DATE_ADD(GETDATE(), INTERVAL -7 DAY)) AND GETDATE() ) );

И что-то делаю не так

Не нашел объяснения работы с датами
Нашел пример похожий на стаковерфлов там было это YEAR, не понимаю зачем оно там
тип данных на Dalivery.DateDelivery - date
  • Вопрос задан
  • 169 просмотров
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
тупо разница в днях между датой и "сегодня":
where datediff(day,Dalivery.DateDelivery,getdate())<=7


разница меньше или равна 7 - за последние 7 дней

а вот если требуется "попадание" в календарную неделю - выражение окажется несколько позабубенистее
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AndyKorg
@AndyKorg
Кнопконажиматель и припоерасплавлятель
Небольшой FAQ по работе с датами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы