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 聚合就好了

京公网安备 11010502036488号