我有一张这样的表
column1 column2 column3
abc xyz 4
def ghi 3
abc xyz 6
abc xyz 1
jkl mno 4
查询后的预期结果
column1 column2 column3
abc xyz 11
def ghi 3
jkl mno 4
我的查询如下:
select column1, column2, count(column3)
from
(select ......) as column1,
(select ......) as column2,
(select ......) as column3)
group by column1, column2, count(column3)
我收到此错误“不是单组群组功能”
答案 0 :(得分:2)
如何使用SUM
SELECT column1,
column2,
SUM(column3)
FROM YOUR_TABLE
GROUP BY column1,
column2
答案 1 :(得分:1)
您需要使用SUM
,并且必须删除count(column3)
中的group by
,如果您确实将列作为子查询的结果,则可能需要将其视为此类似:
select column1, column2, sum(column3)
from (
select
(select ......) as column1,
(select ......) as column2,
(select ......) as column3
from dual
)
group by column1, column2
否则您需要在group by
中重复整个子查询选择。在您的查询中,您说FROM (select .......) as column1
但这意味着子查询被称为column1
,它不起作用。可以使用前缀column1
来解决子查询中的选定列。例如,如果您说FROM (select x from test) t1
,则可以通过编写t1.x
来解决x问题。
但是如果您有一个如上所述的简单表格,那么正确的陈述是
select column1, column2, sum(column3) from mytable
group by column1, column2
答案 2 :(得分:0)
通过使用简单查询,您将得到像您一样的答案
select col1, col2, sum(col3) from test
group by col1,col2