probleem order by binnen group by
klaas
10/08/2008 18:01:00ik heb de volgende mysql code.
als ik de group by zou weglaten krijg ik een aantal dingen dubbel.
Deze verschillen van elkaar in w.datum. nu wil ik graag nu ik group by gebruik dat hij die pakt met de eerste in datum. Nu neemt hij gewoon de eerste uit de tabel.
SELECT
s.id,
s.comp,
s.speeldag,
c.land,
c.naam
FROM
voetbal_speel AS s,
voetbal_wed AS w,
voetbal_comp AS c
WHERE
DATE_FORMAT(w.datum, '%c')=".$maandn."
AND
DATE_FORMAT(w.datum, '%Y')=".$jaar."
AND
w.speeldag=s.id
AND
w.comp=s.comp
AND
c.id=w.comp
GROUP BY
s.id
ORDER BY
w.datum,
c.naam
als ik de group by zou weglaten krijg ik een aantal dingen dubbel.
Deze verschillen van elkaar in w.datum. nu wil ik graag nu ik group by gebruik dat hij die pakt met de eerste in datum. Nu neemt hij gewoon de eerste uit de tabel.
SELECT
s.id,
s.comp,
s.speeldag,
c.land,
c.naam
FROM
voetbal_speel AS s,
voetbal_wed AS w,
voetbal_comp AS c
WHERE
DATE_FORMAT(w.datum, '%c')=".$maandn."
AND
DATE_FORMAT(w.datum, '%Y')=".$jaar."
AND
w.speeldag=s.id
AND
w.comp=s.comp
AND
c.id=w.comp
GROUP BY
s.id
ORDER BY
w.datum,
c.naam
PHP hulp
19/11/2024 15:44:48Frank -
11/08/2008 08:54:00De eerste in datum? Klinkt als MIN(datum) en dan is direct jouw query heel erg fout, de GROUP BY klopt dan niet.
Ga eerst jouw database zo configureren dat foute queries worden afgeschoten, dan gaat MySQL niet zelf de nodige onzin uit zijn duimpje zuigen.
En vervolgens een goede query opstellen. Zorg wel voor foutafhandeling, anders wordt het zoeken naar een speld in een hooiberg wanneer je een fout maakt.
Ps. Met MONTH() en YEAR() kun je de maand en het jaartal uit een datum halen, dat doe je niet met DATE_FORMAT().
Pps. Geef bij sorteren altijd de richting aan, dus ASC of DESC. Wel zo duidelijk, voorkomt dus bugs.
Ga eerst jouw database zo configureren dat foute queries worden afgeschoten, dan gaat MySQL niet zelf de nodige onzin uit zijn duimpje zuigen.
En vervolgens een goede query opstellen. Zorg wel voor foutafhandeling, anders wordt het zoeken naar een speld in een hooiberg wanneer je een fout maakt.
Ps. Met MONTH() en YEAR() kun je de maand en het jaartal uit een datum halen, dat doe je niet met DATE_FORMAT().
Pps. Geef bij sorteren altijd de richting aan, dus ASC of DESC. Wel zo duidelijk, voorkomt dus bugs.