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

如何修改GROUPING SETS分组结果首列的NULL值为自定义内容

解决方案

你可以通过CASE语句结合GROUPING()函数识别汇总行,替换指定列的NULL值为自定义文本。修改后的SQL语句如下:

SELECT 
    CASE WHEN GROUPING(column1) = 1 THEN 'SubTotal' ELSE column1 END AS Name1,
    column2 AS Name2,
    SUM(column3) AS QTT
FROM my_table
GROUP BY GROUPING SETS ((column1, column2), ())

关键说明

  • GROUPING(column1)函数:当该行是GROUPING SETS中空分组()生成的汇总行时,对column1返回1;基于column1, column2分组的行则返回0。
  • CASE语句:利用上述判断结果,将汇总行的column1值替换为SubTotal,其他行保留原column1的值。

执行后返回结果符合预期:

Name1Name2QTT
ABCD15
ZEEF15
SubTotalNone30

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 15:25:26