Avatar billede donslund Nybegynder
10. marts 2003 - 13:17 Der er 4 kommentarer og
1 løsning

avg()

Hvorfor kan jeg ikke koble disse to sql-sætninger sammen?

$hent="SELECT *,DATE_FORMAT((dato), '%d') AS dato_dayn,
    dato,DAYNAME(dato) AS dato_day,
    monthNAME(dato) AS dato_month,
    year(dato) AS dato_year
    FROM diagram";

og

$gen ="Select AVG(amount) as genn from diagram";

skulle så blive til

$hent="SELECT *,DATE_FORMAT((dato), '%d') AS dato_dayn,
    dato,DAYNAME(dato) AS dato_day,
    monthNAME(dato) AS dato_month,
    year(dato) AS dato_year,
        AVG(amount) AS gennemsnit
    FROM diagram";

Det virker kun hvis jeg deler den i to.
Avatar billede zorci Nybegynder
10. marts 2003 - 13:24 #1
Din AVG(amount) funktion skal afvikles alene og kan ikke kombineres med andet i din SELECT.

Det er i hvertfald min erfaring når jeg bruger COUNT().
Avatar billede donslund Nybegynder
10. marts 2003 - 13:27 #2
du har sikkert ret, men det er da bøvlet :-)
Avatar billede erikjacobsen Ekspert
10. marts 2003 - 13:31 #3
Hvad skulle det betyde? Vil du have samme gennemsnit (baseret på hele tabellen)
sat ind i hvert tupel som svar?

Du kan brug AVG() og lignende alene eller sammen med en group by.
Avatar billede jpvj Nybegynder
10. marts 2003 - 13:31 #4
Aggregate funktioner kan ikke bruges sammen med "normale" felter i et SELECT kald. Man kunne argumentere for, at DMBS systemet godt kunne analysere sig ud af det og selv udregng AVG() først og blot bruge den som en konstant værdi i alle andre rækker, men hvis man tænker over det, er det heller ikke særligt pænt rent programmeringsmæssigt at returnere en konstant n gange.

JP
Avatar billede zorci Nybegynder
10. marts 2003 - 13:32 #5
Tjaa, men det er vel fordi du efterfølgende kan sætte kriterier op for dine andre ting i SELECT. Eksempelvis WHERE dato > blah. Så vil du få et reduceret datasæt, og hvad skal dit gennemsnit så beregnes for. Det reducerede datasæt eller alt i tabellen? Dette er jo ikke angivet.
  Jeg går ud fra det er derfor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester