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 ('4','164','144','154','151','148','155','152','149','153','150','145','160','157','161','158','162','159','156','163','364','365','366','367','146','176','170','177','174','171','175','172','147','167','168','165','169','166') 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 |