SELECT category_id, round(sum(order_amount), 2) total_sales, sum( CASE WHEN customer_gender = '男' THEN 1 ELSE 0 END ) male_customers, sum( CASE WHEN customer_gender = '女' THEN 1 ELSE 0 END ) female_customers FROM ( SELECT a.category_id, a.order_amount, b.customer_gender FROM order_details AS a INNER JOIN customer_info AS b ON a.order_id = b.order_id WHERE a.order_date BETWEEN '2024-01-01' AND '2024-06-30' ) AS t GROUP BY category_id ORDER BY category_id ASC
此题ez,先将给的两个表连结取出来需要用的数据,然后再GROUP BY 聚合就好了