Здравствуйте, мне нужно подсчитать сумму(цену) товара в бд за определенную дату.
Сейчас вывожу сумму цен всех товаров, а нужно по дате (в коде за дату 13.03.2017).
Делал вот так но не получается, ибо выводим сумму всех товаров
$vivod = mysql_query("SELECT `id`, `date`, `name`, SUM(price) as sum FROM `orders` WHERE paid = '1' AND fund = 'QIWI'");
while ($ss = mysql_fetch_assoc($vivod)) {
$yesterday1 = "13.03.2017";
$v1 = date("d.m.Y", $ss['date']);
if($v1 === $yesterday1) {
echo $ss['sum'] + 0;
}
Группируем данные по дате и наименованию товара(GROUP BY
):
SELECT GROUP_CONCAT(`id`) as ids, DATE(`date`), `name`, SUM(price) as sum
FROM `orders`
WHERE paid = '1' AND fund = 'QIWI'
GROUP BY DATE(`date`), name
Также получаем список id заказов в каждой группе через запятую
(Агрегатная функция GROUP_CONCAT
)
Выбираем данные за нужную дату:
SELECT `id`, `date`, `name`, SUM(price) as sum
FROM `orders`
WHERE paid = '1' AND fund = 'QIWI'
AND DATE(`date`) = '2017-03-13'
В документации написано, что в параметре options, можно указать логическое ИЛИ, я указал и почему не работает?
Нужно чтобы скрипт на PHP выполнялся 1 раз в 10 секундМне посоветовали использовать LOCK TABLES