Vyzaduje group by order by?
Ondrej Koala Vacha
koala na fi.muni.cz
Středa Srpen 9 11:53:13 CEST 2000
On Wed, 9 Aug 2000, Honza Pazdziora wrote:
> > muze se stat, ze
> >
> > select xx,sum(ks) group by xx order by yy
> ^^^^^
> predpokladam, ze tady je jeste nejake from table
>
Samozrejme, moje opomenuti :(
> Oracle Vam na tohle rekne
>
> ORA-00979: not a GROUP BY expression
>
> a ukaze na to yy. Proste ten sloupec yy tam neexistuje, existuje jenom
> to, co pustite ven pres group by, tedy sloupce pres ktere groupujete
> nebo agregace.
>
> Ale Vy prece muzete mit zaznamy
>
> xx yy ks
> 123 8 1
> 123 4 2
> 098 1 1
> 098 8 2
>
> Vysledek je pak
>
> xx sum(ks)
> 123 3
> 098 3
>
> A jak byste tady chtel tridit podle yy? Ve vysledku mate pouze sloupce
> xx a sum(ks) a ty yy jdou napric nimi.
>
No chtel... Nechtel. Ale moho by to taky fungovat tak, ze seznam se
najprve setridi podle order by
xx yy ks
098 1 1
123 4 2
123 8 1
098 8 2
>
a teprve _pak_ group-ne. Pak bych dostal
xx sum(ks)
098 1
123 3
098 2
V zasade mi jde o to, zda je zaruceno, ze vysledek bude takovy, jako by se
napred tridilo a group-ovalo podle goup by a teprva pak podle order by
anebo opacne.
> V MySQL (3.23.13) Vam to projde a projde to proto, ze v MySQL Vam
> projde
Ano, i kdyz v komplikovanejsich pripadech to taky zahlasi chybu.
Ale chapu, ze toto je duvod, proc to u mysql projde.
s diky za vysvetleni
---
Ondrej Koala Vacha
Další informace o konferenci Databases