sql - 如何使用 rollup 返回 varchar 字符串而不是 null?

标签 sql sql-server-2008

当我运行此查询时:

select
    First_Name,
    sum(a) a,
    sum(b) b,
    sum(c) c
from someTable
group by First_Name with rollup

第一列 First_Name 和最后一行(总行)显示 NULL(因为无法求和),我想显示自定义字符串值而不是 null。我知道我可以在此处使用 isnullcase,但我希望只影响汇总的行。

谢谢!

最佳答案

SELECT  CASE WHEN GROUPING_ID(First_Name) = 1 THEN 'Total' ELSE First_Name END,
        SUM(a),
        SUM(b),
        SUM(c)
FROM    data
GROUP BY
        First_Name WITH ROLLUP

关于sql - 如何使用 rollup 返回 varchar 字符串而不是 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5407208/

相关文章:

sql - 在 7 天滚动窗口中获取结果,该窗口因每个用户而异

SQL 列表到范围结果

sql-server - 是否有适用于 SQL Server 2008 及更高版本的任务管理器?

sql - 时间戳到日期 SQL

sql - case when 语句中按列号对表进行排序

c# - Entity Framework 'Where Or' 用于多个用户指定的 ID

SQL Server根据存储过程的执行结果插入

sql-server-2008 - 通过使用NOLOCK提示避免死锁

UPDATE + CASE WHEN + EXISTS + SELECT MAX 的 MySQL 语法