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

サブクエリの結果として実際に列を取得する場合は、次のようにする必要がありますSUMcount(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に書くと、 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 に答える