2015-09-24 2 views
0

Я пытаюсь позвонить в прошлом месяце данные из mysql, но он также дает мне данные из предыдущих лет, например, август 2011, август 2012 .... август 2015 года. Я использовал разные функции для получения интервала в прошлом месяце, но без успеха. это означает, что Сумма заказа из базы данных также неверна.Попытка получить данные за прошлый месяц из mysql

Запрос 1:

SELECT sku, 
     order_date, 
     sum(`order_total`) AS sales 
FROM `tableOrder` 
WHERE `order_status`='Shipped' 
    AND MONTH(STR_TO_DATE(order_date, '%m/%d/%Y')) = MONTH(CURDATE() - INTERVAL 1 MONTH) 
GROUP BY STR_TO_DATE(order_date, '%m/%d/%Y') 
ORDER BY sales DESC 

Запрос 2:

SELECT sku, 
     order_date, 
     sum(`order_total`) AS sales 
FROM `tableOrder` 
WHERE `order_status`='Shipped' 
    AND MONTH(STR_TO_DATE(order_date, '%m/%d/%Y')) = MONTH(DATE_ADD(Now(), INTERVAL -1 MONTH)) 
GROUP BY STR_TO_DATE(order_date, '%m/%d/%Y') 
ORDER BY sales DESC 

ответ

0

Добавить дополнительное условие в течение года:

SELECT sku,order_date,sum(`order_total`) as sales FROM `tableOrder` 
WHERE `order_status`='Shipped' 
    AND MONTH(STR_TO_DATE(order_date, '%m/%d/%Y')) = MONTH(CURDATE() - INTERVAL 1 MONTH) 
    AND YEAR(order_date) = YEAR(NOW()) 
GROUP BY STR_TO_DATE(order_date, '%m/%d/%Y') 
ORDER BY sales desc 
Смежные вопросы