Получить товары, приобретенные вместе + Наиболее часто покупаемые вместе - PullRequest
0 голосов
/ 31 января 2020

У меня такие проблемы с визуализацией, и мне нужна помощь. Задача поиска предметов, которые чаще всего покупаются вместе. Как то, что клиенты обычно добавляют к своей покупке. И сколько раз это происходило.

Все данные приведены в 1 таблице со следующими столбцами:

  • Номер заказа
  • Код товара
  • Код цвета
  • Размер
  • Описание товара

Каждая строка в этой таблице не обязательно является уникальной покупкой - например, она может иметь номер заказа 1, указанный дважды, потому что они совершили покупку предмета A и пункт B, следовательно, 2 ряда.

Я знаю, что это не лучшее объяснение, поэтому, пожалуйста, дайте мне знать, если у вас есть вопросы.

1 Ответ

1 голос
/ 31 января 2020

Вы можете получить количество заказов, в которых находятся два элемента, используя самосоединение и агрегацию:

select t1.itemcode, t2.itemcode, count(distinct t1.ordernumber) as num_orders
from t t1 join
     t t2
     on t1.ordernumber = t2.ordernumber and
        t1.itemcode < t2.itemcode
group by t1.itemcode, t2.itemcode
order by num_orders desc;
...