Мне нужно создать данные для «Клиент, который купил это, также купил» с таблицей MySQL, которую я создал на основе заказ ⇐ Php
Мне нужно создать данные для «Клиент, который купил это, также купил» с таблицей MySQL, которую я создал на основе заказ
Мне нужно создать данные для «Клиент, который купил это, также купил» с помощью таблицы MYSQL, которую я создал на основе заказов. Мне нужно рассчитать частоту, нет. порядка и процента для комбинации продуктов, но проблема в том, что у меня 109 миллионов записей.
Идентификатор заказа идентификатор продукта Артикул связанныйSKU RelatedID Комбинация Статус 32457 4342 IC-1159524 IC-1179522 16289 4342,16289 завершено 32457 4664 IC-1161516 IC-1179522 16289 4664,16289 завершено 32457 16026 IC-1164185 IC-1179522 16289 16026,16289 завершено 32457 16289 IC-1179522 IC-1159524 4342 16289,4342 завершено 32457 16289 IC-1179522 IC-1161516 4664 16289,4664 завершено 32457 16289 IC-1179522 IC-1164185 16026 16289,16026 завершено 32457 16289 IC-1179522 IC-1182417 18079 16289,18079 завершено 32457 16289 IC-1179522 IC-1101030 7942 16289,7942 завершено 32457 16289 IC-1179522 IC-1184031 18404 16289,18404 завершено 32457 16289 IC-1179522 PACK-0126 19511 16289,19511 завершено 32457 16289 IC-1179522 IC-1026089 13301 16289,13301 завершено 32457 18079 IC-1182417 IC-1179522 16289 18079,16289 завершено 32457 7942 IC-1101030 IC-1179522 16289 7942,16289 завершено 32457 18404 IC-1184031 IC-1179522 16289 18404,16289 завершено 32457 19511 PACK-0126 IC-1179522 16289 19511,16289 завершено 32457 13301 IC-1026089 IC-1179522 16289 13301,16289 завершено
Создайте эту временную таблицу для вычислений:
INSERT INTO `cwbtab_analytics_table` (order_id,ProductID,ProductSku,RelevantSku,RelatedID,комбинация,статус) ВЫБИРАТЬ t1.order_id как order_id, t1.product_id КАК ProductID, t1.sku AS ProductSku, t2.sku AS RelevantSku, t2.product_id как связанныйID, CONCAT( t1.product_id, ',', t2.product_id) как комбинация, sales_order.status как статус Из sales_order_item t1 INNER JOIN sales_order_item t2 ВКЛ t1.order_id = t2.order_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ sales_order на t1.order_id = sales_order.entity_id где sales_order.status IN («отправлено», «завершено») И t1.product_id t2.product_id; В этом запросе будут вставлены данные из cwbtab_analytics_table в эту таблицу с вычислениями
INSERT INTO `nhd_customer_who_bought_this_also_bought` (product_id,sku, linked_product_id, linked_product_sku, Frequency,orders,bought_percent) ВЫБИРАТЬ pp.productID как product_id, пп.ПродуктСку как артикул, pp.RelatedID как linked_product_id, pp.RelevantSku как linked_product_sku , COUNT(*) КАК частота, COUNT(CASE WHEN FIND_IN_SET(pp.productID, t.combination) AND FIND_IN_SET(pp.RelatedID, t.combination) THEN t.order_id END) AS заказы, COUNT(CASE WHEN FIND_IN_SET(pp.productID, t.combination) AND FIND_IN_SET(pp.RelatedID, t.combination) THEN t.order_id END) * 100,0 / COUNT(*) AS buy_percent ОТ cwbtab_analytics_table_1 стр. ПРИСОЕДИНИТЬСЯ cwbtab_analytics_table_1 t ON FIND_IN_SET(pp.productID, t.combination) ИЛИ FIND_IN_SET(pp.RelatedID, t.combination) ГРУППА ПО pp.productID, pp.RelatedID, pp.ProductSku, pp.RelevantSku; ИМЕЮЩИЙ заказов > 2
Мне нужно создать данные для «Клиент, который купил это, также купил» с помощью таблицы MYSQL, которую я создал на основе заказов. Мне нужно рассчитать частоту, нет. порядка и процента для комбинации продуктов, но проблема в том, что у меня 109 миллионов записей.
Идентификатор заказа идентификатор продукта Артикул связанныйSKU RelatedID Комбинация Статус 32457 4342 IC-1159524 IC-1179522 16289 4342,16289 завершено 32457 4664 IC-1161516 IC-1179522 16289 4664,16289 завершено 32457 16026 IC-1164185 IC-1179522 16289 16026,16289 завершено 32457 16289 IC-1179522 IC-1159524 4342 16289,4342 завершено 32457 16289 IC-1179522 IC-1161516 4664 16289,4664 завершено 32457 16289 IC-1179522 IC-1164185 16026 16289,16026 завершено 32457 16289 IC-1179522 IC-1182417 18079 16289,18079 завершено 32457 16289 IC-1179522 IC-1101030 7942 16289,7942 завершено 32457 16289 IC-1179522 IC-1184031 18404 16289,18404 завершено 32457 16289 IC-1179522 PACK-0126 19511 16289,19511 завершено 32457 16289 IC-1179522 IC-1026089 13301 16289,13301 завершено 32457 18079 IC-1182417 IC-1179522 16289 18079,16289 завершено 32457 7942 IC-1101030 IC-1179522 16289 7942,16289 завершено 32457 18404 IC-1184031 IC-1179522 16289 18404,16289 завершено 32457 19511 PACK-0126 IC-1179522 16289 19511,16289 завершено 32457 13301 IC-1026089 IC-1179522 16289 13301,16289 завершено
Создайте эту временную таблицу для вычислений:
INSERT INTO `cwbtab_analytics_table` (order_id,ProductID,ProductSku,RelevantSku,RelatedID,комбинация,статус) ВЫБИРАТЬ t1.order_id как order_id, t1.product_id КАК ProductID, t1.sku AS ProductSku, t2.sku AS RelevantSku, t2.product_id как связанныйID, CONCAT( t1.product_id, ',', t2.product_id) как комбинация, sales_order.status как статус Из sales_order_item t1 INNER JOIN sales_order_item t2 ВКЛ t1.order_id = t2.order_id ВНУТРЕННЕЕ СОЕДИНЕНИЕ sales_order на t1.order_id = sales_order.entity_id где sales_order.status IN («отправлено», «завершено») И t1.product_id t2.product_id; В этом запросе будут вставлены данные из cwbtab_analytics_table в эту таблицу с вычислениями
INSERT INTO `nhd_customer_who_bought_this_also_bought` (product_id,sku, linked_product_id, linked_product_sku, Frequency,orders,bought_percent) ВЫБИРАТЬ pp.productID как product_id, пп.ПродуктСку как артикул, pp.RelatedID как linked_product_id, pp.RelevantSku как linked_product_sku , COUNT(*) КАК частота, COUNT(CASE WHEN FIND_IN_SET(pp.productID, t.combination) AND FIND_IN_SET(pp.RelatedID, t.combination) THEN t.order_id END) AS заказы, COUNT(CASE WHEN FIND_IN_SET(pp.productID, t.combination) AND FIND_IN_SET(pp.RelatedID, t.combination) THEN t.order_id END) * 100,0 / COUNT(*) AS buy_percent ОТ cwbtab_analytics_table_1 стр. ПРИСОЕДИНИТЬСЯ cwbtab_analytics_table_1 t ON FIND_IN_SET(pp.productID, t.combination) ИЛИ FIND_IN_SET(pp.RelatedID, t.combination) ГРУППА ПО pp.productID, pp.RelatedID, pp.ProductSku, pp.RelevantSku; ИМЕЮЩИЙ заказов > 2
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Я не могу утвердить или отменить заказ, если в мою базу данных добавлен только один заказ.
Anonymous » » в форуме Php - 0 Ответы
- 26 Просмотры
-
Последнее сообщение Anonymous
-