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 `2149`.`ecs_brand`AS b, `2149`.`ecs_goods` AS g WHERE g.brand_id = b.brand_id AND g.cat_id IN ('96','118','104','115','112','128','109','125','106','122','119','116','113','110','126','107','123','120','117','114','111','127','108','124','105','121','260','261','262') 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 |