mikulMedlem sedan aug. 20013 824 inlägg Jag får detta felmedelande
You tried to execute a query that does not include the specified expression 'id' as part of an aggregate function.
När jag kör denna SQL-Queryn:
[red]SELECT id, kategori, forum, beskrivning, moderator
FROM tblForums GROUP BY Kategori"[/red]
Nån som vet varför?
/ Mikul
mikulMedlem sedan aug. 20013 824 inlägg Löste det på ett annat sätt, men jag skulle fortfarande vilja veta källan till problemet...
Nån som vet?
/ Mikul
LarsGMedlem sedan dec. 200012 464 inlägg T:
a ! b
------
x ! 2
y ! 4
x ! 2
x ! 3
select a,b from t group by a,b
fungerar som distinct dvs, det tar bort alla duplikat, med resultatet
a ! b
------
x ! 2
y ! 4
x ! 3
select a from t group by a ger alltså
a
--
x
y
Med group by har man också möjligheten att aggregera inom varje grupp
select a,sum(b) from t group by a
ger
a !
-------
x ! 7
y ! 4
dvs, om du har group by så måste alla kolumner i select-listan antingen vara med i group by eller så måste de ingå i en aggregatfunktion (sum,max, min etc)
så om man säger
select a,b from t group by a
vad skulle det innebära? Vilket värde från kolumnen b skall returneras?
mikulMedlem sedan aug. 20013 824 inlägg Det skulle väll innebära att b inte kommer mä alls?
Eller har jag fattat det fel?
/ Mikul
LarsGMedlem sedan dec. 200012 464 inlägg Det jag försökte förmedla var att det är tvetydigt vilket resultat man skulle få. Om man grupperar på a så får man x och y men för x finns det olika b och databasen vet inte vilket av dessa b som skall returneras.
mikulMedlem sedan aug. 20013 824 inlägg Jahaaa...=)
Nu förstår jag lite bättre. Tack så mycket!=)
/ Mikul