Sign In | Register Now About Bytes | Help | Site Map
Connecting Tech Pros Worldwide

Not a group by expression

Question posted by: MM (Guest) on June 27th, 2008 07:01 PM
Hello users. I have a query that I can run and see the result on the grid on
design time, but when i run the program i get the folowing
message:ORA-00979: not a GROUP BY expression. When I run the same query with
out parameters it runs and it was runing well before in Oracle 8.Also If I
don't use the GROUP BY function but with the parameter, it works also well
?What is the problem? The query is:select t1.id,t2.nad,max(t2.name) as
namefrom c02 t1,d00 t2where t1.id = t2.idand t1.date1>= :pDate1group by
t2.nad, t2.idAny help is helpfull. Regards,MM




pixelmeow's Avatar
pixelmeow
Guest
n/a Posts
June 27th, 2008
07:01 PM
#2

Re: Not a group by expression
"MM" <milica.mihac@ck.htnet.hrwrote, Wed 11 May 2005 12:29:19 +0200,
in comp.databases.oracle:
Quote:
>Hello users. I have a query that I can run and see the result on the grid on
>design time, but when i run the program i get the folowing
>message:ORA-00979: not a GROUP BY expression. When I run the same query with
>out parameters it runs and it was runing well before in Oracle 8.Also If I
>don't use the GROUP BY function but with the parameter, it works also well
>?What is the problem? The query is:
>
>select t1.id,t2.nad, max(t2.name) as name
>from c02 t1, d00 t2
>where t1.id = t2.id
>and t1.date1 >= :pDate1
>group by t2.nad, t2.id <-- is this supposed to be t1.id?


From Oracle's website: http://tinyurl.com/78fgq

ORA-00979 not a GROUP BY expression

Cause: The GROUP BY clause does not contain all the expressions in
the SELECT clause. SELECT expressions that are not included in a group
function, such as AVG, COUNT, MAX, MIN, SUM, STDDEV, or VARIANCE, must
be listed in the GROUP BY clause.

Action: Include in the GROUP BY clause all SELECT expressions that
are not group function arguments.

HTH,
--
Teresa Robinson
Staff Programmer Analyst
Anteon Corporation
trobinson at anteon dot com

Paul's Avatar
Paul
Guest
n/a Posts
June 27th, 2008
07:01 PM
#3

Re: Not a group by expression

"MM" <milica.mihac@ck.htnet.hrwrote:
Quote:
>Hello users. I have a query that I can run and see the result on the grid on
>design time, but when i run the program i get the folowing
>message:ORA-00979: not a GROUP BY expression. When I run the same query with
>out parameters it runs and it was runing well before in Oracle 8.Also If I
>don't use the GROUP BY function but with the parameter, it works also well
>?What is the problem? The query is:select t1.id,t2.nad,max(t2.name) as
>namefrom c02 t1,d00 t2where t1.id = t2.idand t1.date1>= :pDate1group by
>t2.nad, t2.idAny help is helpfull. Regards,MM



Kako si? Give us the details of the DDL for the tables in question -
also, this question should really be asked on
comp.databases.oracle.server. Version number (exact) and OS info would
also help. Hvala.



Paul...



--

plinehan __at__ yahoo __dot__ __com__

XP Pro, SP 2,

Oracle, 9.2.0.1.0 (Enterprise Ed.)
Interbase 6.0.2.0;

When asking database related questions, please give other posters
some clues, like operating system, version of db being used and DDL.
The exact text and/or number of error messages is useful (!= "it didn't work!").
Thanks.

Furthermore, As a courtesy to those who spend
time analyzing and attempting to help, please
do not top post.

MM's Avatar
MM
Guest
n/a Posts
June 27th, 2008
07:01 PM
#4

Re: Not a group by expression
Quote:
Quote:
>>Hello users. I have a query that I can run and see the result on the grid
>>on
>>design time, but when i run the program i get the folowing
>>message:ORA-00979: not a GROUP BY expression. When I run the same query
>>with
>>out parameters it runs and it was runing well before in Oracle 8.Also If I
>>don't use the GROUP BY function but with the parameter, it works also well
>>?What is the problem? The query is:select t1.id,t2.nad,max(t2.name) as
>>namefrom c02 t1,d00 t2where t1.id = t2.idand t1.date1>= :pDate1group by
>>t2.nad, t2.idAny help is helpfull. Regards,MM

>
>
Kako si? Give us the details of the DDL for the tables in question -
also, this question should really be asked on
comp.databases.oracle.server. Version number (exact) and OS info would
also help. Hvala.
>
>
>
Paul...
>
>
>
--


Hi Paul. Thanks for question I'm fine.
I'm sure that problem is not in my SQL (as it work before in Oracle 8) as
error happens since I'm using Oracle 9.
Also it works if I change parametar with value. But when I change value with
parametar it doesn't work anymore.

The OS is WinXp all the time.

Table is:
-- Create table
create table C0NAPD1
(
BROJ_NALOGA NUMBER(8) not null,
RB NUMBER(4) not null,
IB_PROIZVODA VARCHAR2(10) not null,
KOLICINA NUMBER(12,2) not null,
DATUM_ISPORUKE DATE
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 22912K
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table C0NAPD1
add constraint C02NAPD1_PK primary key (BROJ_NALOGA,RB)


Query is:
select c02.ib_proizvoda,

sum(c02.kolicina) as kolicina,

from c02napd1 c02

where

c02.datum_isporuke>= :pDatum1

group by c02.IB_PROIZVODA



Regards, Milica



MM's Avatar
MM
Guest
n/a Posts
June 27th, 2008
07:01 PM
#5

Re: Not a group by expression
Cause: The GROUP BY clause does not contain all the expressions in
Quote:
the SELECT clause. SELECT expressions that are not included in a group
function, such as AVG, COUNT, MAX, MIN, SUM, STDDEV, or VARIANCE, must
be listed in the GROUP BY clause.
Action: Include in the GROUP BY clause all SELECT expressions that
are not group function arguments.




Hi, I already included in GROUP BY clause all SELECT expressions that
are not group function arguments.
And it runs OK in Oracle 8, but when I change version of Oracle in Oracle
9...then error start to appear.

Regards, Milica
Quote:
Quote:
>>Hello users. I have a query that I can run and see the result on the grid
>>on
>>design time, but when i run the program i get the folowing
>>message:ORA-00979: not a GROUP BY expression. When I run the same query
>>with
>>out parameters it runs and it was runing well before in Oracle 8.Also If I
>>don't use the GROUP BY function but with the parameter, it works also well
>>?What is the problem? The query is:
>>
>>select t1.id,t2.nad, max(t2.name) as name
>>from c02 t1, d00 t2
>>where t1.id = t2.id
>>and t1.date1 >= :pDate1
>>group by t2.nad, t2.id <-- is this supposed to be t1.id?

>
From Oracle's website: http://tinyurl.com/78fgq
>
ORA-00979 not a GROUP BY expression
>




MM's Avatar
MM
Guest
n/a Posts
June 27th, 2008
07:01 PM
#6

Re: Not a group by expression
I find what was a problem..
I changed CursorLocation in TADOQuery from clUseClient u clUseServer and
now everything works OK.

Anyway thanks.
Regards, Milica

"Paul" <paulsnewsgroups@hotmail.comwrote in message
news:79e481d3bl3cs0nh4u325kbegjdqosiio6@4ax.com...
Quote:
>
"MM" <milica.mihac@ck.htnet.hrwrote:
>
Quote:
>>Hello users. I have a query that I can run and see the result on the grid
>>on
>>design time, but when i run the program i get the folowing
>>message:ORA-00979: not a GROUP BY expression. When I run the same query
>>with
>>out parameters it runs and it was runing well before in Oracle 8.Also If I
>>don't use the GROUP BY function but with the parameter, it works also well
>>?What is the problem? The query is:select t1.id,t2.nad,max(t2.name) as
>>namefrom c02 t1,d00 t2where t1.id = t2.idand t1.date1>= :pDate1group by
>>t2.nad, t2.idAny help is helpfull. Regards,MM

>
>
Kako si? Give us the details of the DDL for the tables in question -
also, this question should really be asked on
comp.databases.oracle.server. Version number (exact) and OS info would
also help. Hvala.
>
>
>
Paul...
>
>
>
--
>
plinehan __at__ yahoo __dot__ __com__
>
XP Pro, SP 2,
>
Oracle, 9.2.0.1.0 (Enterprise Ed.)
Interbase 6.0.2.0;
>
When asking database related questions, please give other posters
some clues, like operating system, version of db being used and DDL.
The exact text and/or number of error messages is useful (!= "it didn't
work!").
Thanks.
>
Furthermore, As a courtesy to those who spend
time analyzing and attempting to help, please
do not top post.




=?ISO-8859-2?Q?Primo=BE_Govekar?='s Avatar
=?ISO-8859-2?Q?Primo=BE_Govekar?=
Guest
n/a Posts
June 27th, 2008
07:01 PM
#7

Re: Not a group by expression
MM wrote:
Quote:
Hello users. I have a query that I can run and see the result on the grid on
design time, but when i run the program i get the folowing
message:ORA-00979: not a GROUP BY expression. When I run the same query with
out parameters it runs and it was runing well before in Oracle 8.Also If I
don't use the GROUP BY function but with the parameter, it works also well
?What is the problem? The query is:select t1.id,t2.nad,max(t2.name) as
namefrom c02 t1,d00 t2where t1.id = t2.idand t1.date1>= :pDate1group by
t2.nad, t2.idAny help is helpfull. Regards,MM


Maybe you should be really careful about aggregate. You use

t1.id and t2.nad after SELECT as non-aggregate field

and

t2.id and t2.nad in GROUP BY

t2.id is not necessryy to be equal t1.id in DB processing statement.

And ofcourse I'm not sure that there is not another catch inside your
querry.

Regards
Gokky

 
Not the answer you were looking for? Post your question . . .
189,847 Experts ready to help you find a solution.
Sign up for a free account, or Login (if you're already a member).

Latest Articles: Read & Comment
  • Didn't find the answer you were looking for?
    Post Your Question
  • Top Community Contributors