grouperen op maand/jaar
Paul de Zwaan
05/06/2009 14:23:00ik wil graag mijn artikel grouperen op maand en jaar voor een dynamisch archief bestand
:
als ik dit doe:
SELECT DATE_FORMAT(artikel.datum,'%Y %M')as sor,artikel.datum,artikel.archief_id from artikel ORDER BY artikel.datum DESC
geeft hij netjes de uitvoer...een nieuw kolom ontstaat met daarin het jaartal en maand
nu wil ik hem grouperen en voegt dit toe:
SELECT DATE_FORMAT(artikel.datum,'%Y %M')as sor,artikel.datum,artikel.archief_id from artikel ORDER BY artikel.datum DESC group by sor
Nu geeft hij een foutmelding kan iemand mij vertellen wat ik fout doe?
:
als ik dit doe:
SELECT DATE_FORMAT(artikel.datum,'%Y %M')as sor,artikel.datum,artikel.archief_id from artikel ORDER BY artikel.datum DESC
geeft hij netjes de uitvoer...een nieuw kolom ontstaat met daarin het jaartal en maand
nu wil ik hem grouperen en voegt dit toe:
SELECT DATE_FORMAT(artikel.datum,'%Y %M')as sor,artikel.datum,artikel.archief_id from artikel ORDER BY artikel.datum DESC group by sor
Nu geeft hij een foutmelding kan iemand mij vertellen wat ik fout doe?
PHP hulp
25/12/2024 06:19:08Joren de Wit
05/06/2009 16:02:00Sowieso hoort een GROUP BY voor de ORDER BY in je query opgenomen te worden, maar daarnaast is het gebruik in bovenstaande query niet correct. Daar is een GROUP BY niet voor bedoelt. Zie ook deze handleiding.
Wat jij wilt heeft puur met de weergave van de gegevens te maken en zul je dus in PHP moeten oplossen. Je selecteert alle gegevens die je nodig hebt gesorteerd op datum en vervolgens lees je deze mbv een while loop in PHP uit. Binnen deze loop houd je in een variabele bij wat de maand-jaar combinatie van het vorige record was en als die bij het huidig record verschilt, weet je dat je een nieuwe groep moet beginnen.
Wat jij wilt heeft puur met de weergave van de gegevens te maken en zul je dus in PHP moeten oplossen. Je selecteert alle gegevens die je nodig hebt gesorteerd op datum en vervolgens lees je deze mbv een while loop in PHP uit. Binnen deze loop houd je in een variabele bij wat de maand-jaar combinatie van het vorige record was en als die bij het huidig record verschilt, weet je dat je een nieuwe groep moet beginnen.