Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL-添加“添加”;总数;包含多个Group by列的行_Postgresql - Fatal编程技术网

PostgreSQL-添加“添加”;总数;包含多个Group by列的行

PostgreSQL-添加“添加”;总数;包含多个Group by列的行,postgresql,Postgresql,我一直在关注这个话题: …我使用此查询在代码中实现了类似的功能: with w as ( select fruits, sum(a) a, sum(b) b, sum(c) c from basket group by fruits ) select * from w union all select 'total', sum(a), sum(b), sum(c) from w 它工作得很好,但我现在需要在sum columns之前再加两列,然

我一直在关注这个话题:

…我使用此查询在代码中实现了类似的功能:

with w as ( select fruits, sum(a) a, sum(b) b, sum(c) c
            from basket
            group by fruits )
select * from w union all select 'total', sum(a), sum(b), sum(c) from w
它工作得很好,但我现在需要在sum columns之前再加两列,然后将sum columns与fruit columns相同,我得到一个错误:

“…必须出现在GROUP BY子句中或用于聚合函数”

关于如何像上面的例子那样做,但是有更多像“水果”这样的栏目的帮助吗


(很抱歉,我的销售代表没有让我继续上一个主题)

您需要的是一种叫做“分组集”的东西。这里的神奇词汇是ROLLUP,目前PostgreSQL还不支持它。我想是9.5分钟。现在,您必须继续您选择的路径(=子选择、CTE等)。
一个叫atri shama的家伙正在做你真正想要的东西。抱歉,现在有个坏消息。

您需要的是一种叫做“分组集”的东西。这里的神奇词汇是ROLLUP,目前PostgreSQL还不支持它。我想是9.5分钟。现在,您必须继续您选择的路径(=子选择、CTE等)。
一个叫atri shama的家伙正在做你真正想要的东西。抱歉,现在有个坏消息。

您需要的是一种叫做“分组集”的东西。这里的神奇词汇是ROLLUP,目前PostgreSQL还不支持它。我想是9.5分钟。现在,您必须继续您选择的路径(=子选择、CTE等)。
一个叫atri shama的家伙正在做你真正想要的东西。抱歉,现在有个坏消息。

您需要的是一种叫做“分组集”的东西。这里的神奇词汇是ROLLUP,目前PostgreSQL还不支持它。我想是9.5分钟。现在,您必须继续您选择的路径(=子选择、CTE等)。
一个叫atri shama的家伙正在做你真正想要的东西。现在很抱歉这个坏消息。

这是一个比我想象的更容易解决的问题

with w as ( select fruits, vegetables, cereals, sum(a) a, sum(b) b, sum(c) c
            from basket
            group by fruits, vegetables, cereals )

select * from w union all select 'total', null, null, sum(a), sum(b), sum(c) from w

上一次选择中的两个空值解决了问题

这是一个比我想象的更简单的修复方法

with w as ( select fruits, vegetables, cereals, sum(a) a, sum(b) b, sum(c) c
            from basket
            group by fruits, vegetables, cereals )

select * from w union all select 'total', null, null, sum(a), sum(b), sum(c) from w

上一次选择中的两个空值解决了问题

这是一个比我想象的更简单的修复方法

with w as ( select fruits, vegetables, cereals, sum(a) a, sum(b) b, sum(c) c
            from basket
            group by fruits, vegetables, cereals )

select * from w union all select 'total', null, null, sum(a), sum(b), sum(c) from w

上一次选择中的两个空值解决了问题

这是一个比我想象的更简单的修复方法

with w as ( select fruits, vegetables, cereals, sum(a) a, sum(b) b, sum(c) c
            from basket
            group by fruits, vegetables, cereals )

select * from w union all select 'total', null, null, sum(a), sum(b), sum(c) from w

上一次选择中的两个空值解决了问题

确实不清楚。你所说的
是什么意思我现在需要在求和列之前再加两列
?再加两列非数字列。例如:(选择水果、蔬菜、谷物、求和(a)a、求和(b)b、求和(c)c…这真的不清楚。你所说的
是什么意思?我现在需要在求和列之前再加两列
?再加两列非数字列。例如:(选择水果、蔬菜、谷物,求和(a)a,求和(b)b,求和(c)c…这真的不清楚。你所说的
是什么意思?我现在需要在求和列之前再加两列
?再加两列非数字列。例如:(选择水果、蔬菜、谷物,求和(a)a,求和(b)b,求和(c)c…这真的不清楚。你所说的
是什么意思?我现在需要在求和列之前再加两列
?再加两列非数字列。例如:(选择水果、蔬菜、谷物,求和(a)a,求和(b)b,求和(c)是的,在我以前的SQL server数据库中,我使用了汇总。但现在我发现自己需要改成POSTGRES,我有点迷路了。在SQL querie中,查询是:
SELECT ISNULL(Column1,'TOTAL')、ISNULL(Column2,')、SUM(Column3)、SUM(Column4)、SUM(Column5)FROM Data'GROUP BY ROLLUP((Column1,Column2))
是的,在我以前的SQL server数据库中,我使用的是ROLLUP。但现在我发现自己需要切换到POSTGRES,我有点迷路了。在SQL querie中,查询是:
从数据分组中按ROLLUP((第1列,第2列),选择ISNULL(第2列,')”,ISNULL(第2列),“,SUM(第3列),SUM(第4列),SUM(第5列))
是的,在我以前的SQL server数据库中,我使用的是ROLLUP。但现在我发现自己需要切换到POSTGRES,我有点迷路了。在SQL querie中,查询是:
从数据分组中按ROLLUP((第1列,第2列),选择ISNULL(第2列,')”,ISNULL(第2列),“,SUM(第3列),SUM(第4列),SUM(第5列))
是的,在我以前的SQL server数据库中,我使用的是汇总。但现在我发现自己需要改成POSTGRES,我有点迷路了。在SQL querie中,查询是:
选择ISNULL(Column1,'TOTAL')”、ISNULL(Column2,')”、SUM(Column3)、SUM(Column4)、SUM(Column5)FROM Data“分组汇总”((Column1,Column2))