2012-09-26 3 views
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) 

Я получаю эту ошибку «не одногрупповая группа функция "

ответ

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, тогда вы можете обратиться к x, написав t1.x.

, но если у вас есть простая таблица, как вы описали выше правильного утверждение

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

Как насчет использования SUM

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

Я использовал функцию суммы, как вы упомянули, но получаю эту следующую ошибку «не является функция одной группы-группы» – user1208862

+1

Использования весь запрос. Ключ в том, что ваши столбцы SELECT должны совпадать с вашим GROUP BY, то есть 'column1, column2' с дополнительным' SUM (column3) '. http://ora-00937.ora-code.com/ – RichardTheKiwi

0

с помощью простого запроса вы получите ответ, как у, как

select col1, col2, sum(col3) from test 
    group by col1,col2 
Смежные вопросы