Как извлечь ежедневные продажи из текущих продаж - PullRequest
0 голосов
/ 23 июня 2018

Мне нужна помощь.У меня есть структура таблицы MySQL, как показано ниже.Заказы - это не ежедневные заказы, а всего заказов.Дата - это отметка времени. Я хочу увидеть трендовые продажи по категориям за последние 3 дня.Я хочу найти, какой продукт в своей категории

id, product_id, cat_id, orders, date
5,  2345,       15,    120,    2018-06-18 00:00:00
6,  2345,       15,    123,    2018-06-19 00:00:00
1,  2345,       15,    137,    2018-06-22 00:00:00
2,  2345,       15,    140,    2018-06-23 00:00:00
7,  456,        55,    127,    2018-06-18 00:00:00
8,  456,        55,    136,    2018-06-19 00:00:00
3,  456,        55,    152,    2018-06-22 00:00:00
4,  456,        55,    176,    2018-06-23 00:00:00

Спасибо

Ответы [ 2 ]

0 голосов
/ 23 июня 2018

Я решил проблему. Спасибо

select a.product_id,a.cox-b.az sales from (
SELECT product_id,
        max(orders) AS cox
    FROM
        products
    WHERE
        date > ( CURDATE() - INTERVAL 3 DAY ) group by product_id order by cox desc) a,

(SELECT product_id,
        orders AS az
    FROM
        products
    WHERE
        date > ( CURDATE() - INTERVAL 3 DAY ) group by product_id) b 


       where a.product_id=b.product_id 
        group by a.product_id order by sales desc
0 голосов
/ 23 июня 2018

Вам необходимо выполнить приведение по дате, группировку для product_id и cat_id и упорядочение по убыванию по сумме заказа в соответствии со словом trending , которое я предполагаю:

select product_id, cat_id, count(orders)  as total_orders
  from mytable
 where cast(date as date) >= cast(sysdate()-3 as date)
 group by product_id, cat_id
 order by count(orders) desc;

 product_id cat_id  total_orders
       2345   15         1
        456   55         1

Демонстрация SQL Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...