SQL | SELECT b.brand_id, b.brand_name, b.brand_logo, b.brand_desc, COUNT(*) AS goods_num, IF(b.brand_logo > '', '1', '0') AS tag FROM `shop`.`ecs_brand`AS b, `shop`.`ecs_goods` AS g WHERE g.brand_id = b.brand_id AND g.cat_id IN ('7','371','273','289','296','293','290','294','291','295','292','274','305','302','299','303','300','304','301','298','271','280','277','281','278','279','276','272','286','283','287','284','297','288','285','282') AND is_show = 1 AND g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 GROUP BY b.brand_id HAVING goods_num > 0 ORDER BY tag DESC, b.sort_order ASC LIMIT 3 |