Hej!
Chansar på detta forumet denna gången. :e
Har en SQL-fråga som ser ut så här:
sql ="SELECT req_Username, AnvId, " & _
"COUNT(*) AS Members " & _
"FROM Profil GROUP BY AnvID " & _
"ORDER BY req_Username DESC LIMIT 1"
Eftersom jag får felmess vid användning av COUNT(), MAX(), MIN() utan GROUP undrar jag hur man får den att räkna rätt. Jag ska räkna antal poster i en tabell. Svaret ska bli 2 men blir 1. Jag trodde jag var smart när jag valde att gruppera efter ett unikt fält, men det hjälpte tydligen inte.
Hur gör man?
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
LarsGMedlem sedan dec. 200012 464 inlägg Vad vill du räkna?
Om du har med group by så får du ju antalet poster inom varje grupp (I och med att du grupperar på en unik kolumn så blir det alltid 1).
Egentligen så skall alla kolumner i select-listan, som inte ingår i en aggregatfunktion, vara med i group by. MySQL är lite udda i detta sammanhang. Det står att man kan få
unpredictable results
om man skriver så som du gjort.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 06 okt 2001]
jorgenMedlem sedan feb. 20012 412 inlägg Hej!
Jag vill göra 2 saker (helst med samma fråga)
-
Välja ut den senaste medlemmen, vilket jag gör med LIMIT 1
-
Räkna antal poster i tabellen, dvs antal medlemmar totalt.
Hur gör man det så att MySQL är nöjd?
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
LarsGMedlem sedan dec. 200012 464 inlägg Går inte med 1 fråga i Mysql.
Du hade behövt skalära selectar
sql ="SELECT req_Username, AnvId, " & _
"(select COUNT(*) " & _
"FROM Profil) as members from profil " & _
"ORDER BY anvId DESC LIMIT 1"
Men det finns alltså inte stöd för detta. Du får nog ställa 2 frågor.
Borde du inte ha
order by AnvID desc
istället?
------------------
essentitia preter non sans multiplicandum
jorgenMedlem sedan feb. 20012 412 inlägg Hej!
Jo det har du rätt i!
Tack för hjälpen, kör med 2 frågor :(
mvh Jörgen :)
------------------
Varför bråka när man kan kramas?
[Redigerat av jorgen den 06 okt 2001]