Tjena! Har problem med att få group by att funka när jag söker mellan 2 datum! Hej, Man måste inte använda gruppfunktioner i HAVING-villkoret.Group by
Det returnerar dubbletter!
Går det att kringgå detta?
<code>
SELECT Sum(TLOGG.TTime) AS SummaförTTime, Uppgifter.Uppgift, TLOGG.TAVD, TLOGG.TDatum
FROM Uppgifter RIGHT JOIN TLOGG ON Uppgifter.U_ID = TLOGG.TUPP
GROUP BY Uppgifter.Uppgift, TLOGG.TAVD, TLOGG.TDatum
HAVING (((TLOGG.TAVD)=3) AND ((TLOGG.TDatum) Between "2003-01-03" And "2004-02-12"))
ORDER BY Sum(TLOGG.TTime) DESC;
</code>Sv: Group by
är kanske ute och vimsar, men borde det inte vara:
SELECT Sum(TLOGG.TTime) AS SummaförTTime, Uppgifter.Uppgift, TLOGG.TAVD, TLOGG.TDatum
FROM Uppgifter RIGHT JOIN TLOGG ON Uppgifter.U_ID = TLOGG.TUPP
WHERE (((TLOGG.TAVD)=3) AND ((TLOGG.TDatum) Between "2003-01-03" And "2004-02-12"))
GROUP BY Uppgifter.Uppgift, TLOGG.TAVD, TLOGG.TDatum
ORDER BY Sum(TLOGG.TTime) DESC;
Kommer inte riktigt ihåg, men används inte HAVING till det du summerar på, tex:
HAVING Sum(TLOGG.TTime) > 38Sv: Group by
WHERE begränsar urvalet *före* grupperingen.
HAVING begränsar urvalet *efter* grupperingen.