"best-seller" como é determinado?Ele pode ser baseada no número de pedidos em vez de quantidade?[fechado]
-
29-09-2020 - |
Pergunta
Eu só quero saber como best-seller é determinado.É simplesmente baseado na quantidade de um produto encomendado?Ele pode ser baseado em quantas encomendas para o produto?
Por exemplo, o Produto 1 tem um mínimo de quantidade a ordem de 500 e 2 do produto não tem nenhuma qty mínimo para encomenda.Dizer que a ordem de 500 pedidos de produtos 1 e 5 do produto 2 em 2 pedidos separados para o total de 10 quantidade.Eu poderia ter a minha "best-seller" a secção de configuração para mostrar o produto 2 como o best-seller de ver duas ordens foram colocados em oposição ao produto 1 com 500?
Solução
Os melhores vendedores são relatados em QTY encomendada.Você pode ver isso olhando para a consulta SQL gerado a partir de relatórios de vendas.(nota do SQL abaixo podem não ser 100% fiel ao núcleo de relatórios SQL como o SQL pode ter sido alterado pelo meu Dinâmica Categoria De Produtos extensão, mas o ponto crucial do que vai ser o mesmo)
SELECT
SUM(order_items.qty_ordered) AS `ordered_qty`,
`order_items`.`name` AS `order_items_name`,
`order_items`.`product_id` AS `entity_id`,
`e`.`entity_type_id`,
`e`.`attribute_set_id`,
`e`.`type_id`,
`e`.`sku`,
`e`.`has_options`,
`e`.`required_options`,
`e`.`created_at`,
`e`.`updated_at`
FROM
`sales_flat_order_item` AS `order_items`
INNER JOIN
`sales_flat_order` AS `order` ON `order`.entity_id = order_items.order_id
AND `order`.state <> 'canceled'
AND (`order`.created_at BETWEEN '2014-11-15 0:00:00' AND '2016-03-29')
LEFT JOIN
`catalog_product_entity` AS `e` ON (e.type_id NOT IN ('grouped' , 'configurable', 'bundle'))
AND e.entity_id = order_items.product_id
AND e.entity_type_id = 4
INNER JOIN
`catalog_product_website` AS `product_website` ON product_website.product_id = e.entity_id
AND product_website.website_id IN ('1')
WHERE
(parent_item_id IS NULL)
AND (e.entity_id IN (SELECT DISTINCT
`e`.`entity_id`
FROM
`catalog_product_entity` AS `e`
GROUP BY `e`.`entity_id`))
GROUP BY `order_items`.`product_id`
HAVING (SUM(order_items.qty_ordered) > 0)
ORDER BY `ordered_qty` DESC , `order_items_name` ASC