You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Select语句生成的列统计采购订单数量并分组?

解决CASE生成字段的分组统计问题

我完全懂你遇到的困扰——当你用CASE语句动态生成了OrderNumber(比如标记为PurchaseOrder)和Price category(比如1.Low Price、2.Average Price这类)两列后,想要统计每个组合的订单数量,核心思路就是把这两个动态生成的字段作为分组依据就行,下面给你两种实用的实现方式:

方式一:按生成字段分组(行式统计)

这是最直接的方案,把CASE生成的两个字段放到GROUP BY子句中,用COUNT(*)统计每组的行数:

SELECT
  -- 生成OrderNumber标记字段
  CASE 
    WHEN order_type = 'P' THEN 'PurchaseOrder'
    ELSE 'OtherOrder'
  END AS OrderNumber,
  -- 生成价格分类字段
  CASE 
    WHEN price < 100 THEN '1.Low Price'
    WHEN price BETWEEN 100 AND 500 THEN '2.Average Price'
    ELSE '3.High Price'
  END AS PriceCategory,
  -- 统计当前组的订单数量
  COUNT(*) AS NumberOfPurchases
FROM your_table_name
GROUP BY
  -- 多数数据库支持直接用SELECT里的别名分组(比如MySQL、PostgreSQL)
  OrderNumber,
  PriceCategory;

如果你的数据库不支持直接用别名分组(比如部分老版本SQL Server),只需要把GROUP BY里的内容替换成和SELECT中完全一致的CASE逻辑即可:

SELECT
  CASE 
    WHEN order_type = 'P' THEN 'PurchaseOrder'
    ELSE 'OtherOrder'
  END AS OrderNumber,
  CASE 
    WHEN price < 100 THEN '1.Low Price'
    WHEN price BETWEEN 100 AND 500 THEN '2.Average Price'
    ELSE '3.High Price'
  END AS PriceCategory,
  COUNT(*) AS NumberOfPurchases
FROM your_table_name
GROUP BY
  CASE 
    WHEN order_type = 'P' THEN 'PurchaseOrder'
    ELSE 'OtherOrder'
  END,
  CASE 
    WHEN price < 100 THEN '1.Low Price'
    WHEN price BETWEEN 100 AND 500 THEN '2.Average Price'
    ELSE '3.High Price'
  END;

方式二:条件聚合(列式统计)

如果更希望把不同价格分类的数量作为单独列展示(比如一行就显示PurchaseOrder下所有价格区间的订单数),可以用条件聚合的方式实现:

SELECT
  CASE 
    WHEN order_type = 'P' THEN 'PurchaseOrder'
    ELSE 'OtherOrder'
  END AS OrderNumber,
  -- 统计Low Price类别的订单数
  COUNT(CASE WHEN price < 100 THEN 1 END) AS LowPriceNumberOfPurchases,
  -- 统计Average Price类别的订单数
  COUNT(CASE WHEN price BETWEEN 100 AND 500 THEN 1 END) AS AveragePriceNumberOfPurchases,
  -- 统计High Price类别的订单数
  COUNT(CASE WHEN price > 500 THEN 1 END) AS HighPriceNumberOfPurchases
FROM your_table_name
GROUP BY OrderNumber;

你可以根据自己的报表展示需求,选择对应的实现方式。

内容的提问来源于stack exchange,提问作者Xavier Maldonado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:53:23