首页 > 试题广场 >

将两个结果集:未完成订单(order_status=0)和已

[单选题]
将两个结果集:未完成订单(order_status=0)和已完成订单(order_status=1)合并为一列统计,应使用:
  • UNION ALL配合CASE WHEN
  • JOIN ON条件
  • WHERE多个OR条件
  • GROUP BY ROLLUP
-- 方法1: 使用GROUP BY先分组计算,再用CASE WHEN格式化输出
SELECT CONCAT(
    CASE WHEN order_status = 0 THEN '未完成: '
         ELSE '已完成: ' END,
    COUNT(*)
) AS result
FROM orders
WHERE order_status IN (0, 1)
GROUP BY order_status;

-- 方法2: 使用UNION ALL分别计算并合并
SELECT '未完成: ' AS status, COUNT(*) AS count FROM orders WHERE order_status = 0
UNION ALL
SELECT '已完成: ' AS status, COUNT(*) AS count FROM orders WHERE order_status = 1;

发表于 今天 03:01:38 回复(0)