Самые популярные пары товаров
Всем привет, второй день бьюсь над задачей и не знаю как к ней даже подступиться.
Есть две таблицы, первая с номерами заказов (order_id) и номерами продуктов которые в этих заказах в виде массива (product_ids), пример:
таблица номер 1
order_id | product_ids |
---|---|
1 | [65, 28] |
2 | [35, 30, 42, 34] |
3 | [24, 70, 77] |
4 | [72, 40, 20] |
5 | [48] |
6 | [76, 52, 65, 75, 77] |
7 | [35, 74, 15, 34, 80] |
8 | [41] |
9 | [40, 27, 24, 39, 62, 15] |
10 | [3, 78] |
11 | [84, 14, 57] |
12 | [54, 83, 11, 28] |
13 | [1, 63, 78, 70, 50, 50] |
14 | [65, 1, 26, 43, 6] |
15 | [79] |
16 | [71, 83, 46] |
17 | [73, 8, 70, 74] |
18 | [16, 25, 74] |
19 | [40, 31, 38, 28] |
20 | [33, 20] |
вторая с именем товара (name) и его номером (product_id)
таблица номер 2
name | product_id |
---|---|
ананас | 64 |
апельсины | 38 |
арбуз | 16 |
бананы | 65 |
баранина | 37 |
батон | 20 |
бублики | 39 |
варенье | 85 |
вафли | 83 |
виноград | 12 |
вода газированная | 41 |
вода негазированная | 3 |
говядина | 66 |
горох | 42 |
гречка | 31 |
груши | 72 |
жевательная резинка | 80 |
иван-чай в пакетиках | 48 |
икра | 13 |
Задача: сформировать список пар товаров которые чаще встречаются в заказах. Результат должен быть примерно такой:
pair | count_pair |
---|---|
['курица', 'хлеб'] | 249 |
['сахар', 'хлеб'] | 237 |
['батон', 'хлеб'] | 235 |
['кофе 3 в 1', 'чай черный в пакетиках'] | 235 |
['курица', 'сахар'] | 233 |
... | ... |
['леденцы', 'мука'] | 58 |
['масло оливковое', 'рис'] | 58 |
['молоко', 'рыба соленая'] | 58 |
['морс клюквенный', 'сливки'] | 58 |
['семечки', 'энергетический напиток'] | 58 |
... | ... |