0

我有一张这样的桌子

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)

我收到此错误“不是单组组功能”

4

3 回答 3

2

如何使用 SUM

SELECT  column1,
        column2,
        SUM(column3)
FROM    YOUR_TABLE
GROUP BY column1,
        column2
于 2012-09-26T04:54:33.777 回答
1

您需要使用SUM并且必须删除count(column3)in 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) t1then 您可以通过写作来解决 x t1.x

但是,如果您有一个如上所述的简单表格,则正确的陈述是

select   column1, column2, sum(column3) from mytable
group by column1, column2
于 2012-09-26T05:08:49.483 回答
0

通过使用简单的查询,你会得到你喜欢的答案

  select col1, col2, sum(col3) from test
  group by col1,col2
于 2012-09-26T05:04:16.250 回答