On Thu, 07 Apr 2005 10:32:18 +0200
Troels Arvin <troels@arvin.dk> wrote:
> On Thu, 07 Apr 2005 09:55:27 +0200, Kim Schulz wrote:
>
> > SELECT AVG(price), name FROM pricelist
>
> Der er i øvrigt to problemer i dit query:
>
> For det første er NAME et reserveret ord, og det kan give bøvl. Jeg
> plejer at bruge fullname for at undgå den slags.
Sorry! tænkt eksempel, så brug du bare fullname i stedet for
> For et andet, så er der kludder i din gruppering: Alle ikke-
> aggregerende funktioner i din SELECT-liste skal være del af en GROUP
> BY liste. Tænk over det: Du beder om en gennemsnitsværdi for
> tabellen, og så navnet, der knytter sig til gennemsnitsværdien.
> Eftersom at gennemsnittet omhandler mere end ét navn, vil det være
> umuligt at besvare dit spørgsmål. Hvis du ønsker gennemsnitspriserne
> for dine varer, inddelt i grupper med samme navn, kunne du bruge:
> SELECT AVG(price), name FROM pricelist GROUP BY name
Se det var netop dette jeg ville frem til! hvad der rent faktisk sker
ved denne "fejl" i forskellige systemer. Fejler de på query eller?
I det system jeg sidder med smider den avg af price og så første
name. jeg erindrer også at have set andre systemer smide en kolonne
med alle navnene og så en med samme værdi (avg værdien) i alle celler i
en anden kolonne.
altså
AVG(price) | fullname
4 | ting1
4 | ting2
...
--
Kim Schulz | Need a Content Management System for your website? Go
Geek by nature | get Fundanemt at :
http://www.fundanemt.com New
schulz.dk | version out now!