SELECT p.`id_product`, ps.`price` AS `orderprice` , od.best FROM `ps_category_product` cp LEFT JOIN `ps_product` p ON p.`id_product` = cp.`id_product` LEFT JOIN `ps_product_shop` ps ON (p.`id_product` = ps.`id_product` AND ps.`id_shop` = 2) LEFT JOIN `ps_stock_available` sa ON (sa.`id_product` = p.`id_product` AND sa.`id_product_attribute` = ps.`cache_default_attribute` AND sa.`id_shop` = 0 AND sa.`id_shop_group` = 1) LEFT JOIN `ps_product_attribute` pa ON (pa.`id_product_attribute` = p.`cache_default_attribute`) LEFT JOIN `ps_product_attribute_shop` pas ON (pas.`id_product_attribute` = pa.`id_product_attribute` AND pas.`id_shop` = 2) LEFT JOIN (SELECT product_id, count(*) as best FROM ps_order_detail GROUP BY product_id) od ON p.id_product = od.product_id WHERE cp.`id_category` = 3893 AND ps.`active` = 1 AND ps.`visibility` IN ("both", "catalog") GROUP BY cp.`id_product` ORDER BY ps.`can_buy` DESC, `best` DESC LIMIT 0,20