WITH t AS( SELECT shop_id,d.product_id,in_price,cnt,price FROM tb_order_overall o JOIN tb_order_detail d ON o.order_id=d.order_id JOIN tb_product_info i ON d.product_id=i.product_id WHERE DATE(event_time)>='2021-10-01' AND status = 1 AND shop_id = 901 ) (SELECT '店铺汇总' produt_id, CONCAT(ROUND(100*(1-SUM(cnt*in_price)/SUM(cnt*price)),1),'%') profit_rate FROM t GROUP BY shop_id) UNION (SELECT product_id, CONCAT(ROUND(100*(1-AVG(in_price)*SUM(cnt)/SUM(cnt*price)),1),'%') profit_rate FROM t GROUP BY product_id HAVING LEFT(profit_rate,3)>24.9 ORDER BY product_id )