.net 按查询分组-不是按函数分组?

.net 按查询分组-不是按函数分组?,.net,sql,database,oracle,.net,Sql,Database,Oracle,我有一张这样的桌子 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 col

我有一张这样的桌子

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)
我得到了这个错误,不是单个组函数

使用SUM怎么样

SELECT  column1,
        column2,
        SUM(column3)
FROM    YOUR_TABLE
GROUP BY column1,
        column2
使用SUM怎么样

SELECT  column1,
        column2,
        SUM(column3)
FROM    YOUR_TABLE
GROUP BY column1,
        column2

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

  select col1, col2, sum(col3) from test
  group by col1,col2

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

  select col1, col2, sum(col3) from test
  group by col1,col2
您需要使用SUM,并且必须删除group by中的countcolumn3,如果您确实从子查询中获得列作为结果,则可能需要如下所示:

select column1, column2, sum(column3) 
from   (
         select
             (select ......) as column1, 
             (select ......) as column2, 
             (select ......) as column3
           from dual
       )
group by column1, column2
否则,您需要在GROUPBY中重复整个子查询select。在您的查询中,您说的是“从选择…”。。。。。。。作为column1,但这意味着子查询称为column1,但它不起作用。子查询中选定的列可以使用前缀column1进行寻址。例如,如果您说从测试t1中选择x,那么您可以通过写入t1.x来寻址x

但是如果你有一个简单的表格,正如你上面描述的,正确的说法是

select   column1, column2, sum(column3) from mytable
group by column1, column2
您需要使用SUM,并且必须删除group by中的countcolumn3,如果您确实从子查询中获得列作为结果,则可能需要如下所示:

select column1, column2, sum(column3) 
from   (
         select
             (select ......) as column1, 
             (select ......) as column2, 
             (select ......) as column3
           from dual
       )
group by column1, column2
否则,您需要在GROUPBY中重复整个子查询select。在您的查询中,您说的是“从选择…”。。。。。。。作为column1,但这意味着子查询称为column1,但它不起作用。子查询中选定的列可以使用前缀column1进行寻址。例如,如果您说从测试t1中选择x,那么您可以通过写入t1.x来寻址x

但是如果你有一个简单的表格,正如你上面描述的,正确的说法是

select   column1, column2, sum(column3) from mytable
group by column1, column2

正如您所提到的,我使用了sum函数,但是得到以下错误时,没有一个组函数使用整个查询。关键在于,SELECT列必须与GROUP BY相匹配,即column1、column2与附加的SUMcolumn3相匹配。正如您所提到的,我使用了sum函数,但是得到以下错误时,没有一个组函数使用整个查询。关键在于,SELECT列必须与GROUP BY相匹配,即column1、column2与附加的SUMcolumn3相匹配。