Hallo allemaal,
Het is alweer even geleden dat ik hier een vraag gepost heb, maar nu loop ik toch echt weer eens vast met mijn beperkte MySQL kennis.
Het probleem is als volgt:
Voor een website wil ik een leuk grafiekje tekenen met een overzicht van het aantal reacties, dit gaat allemaal redelijk goed. Waar het fout gaat is dat ik geen weken uit mijn query krijg waarin geen enkele reactie is geplaatst.
De huidige query:
Het resultaat hiervan is ongeveer als volgt:
Zoals je ziet ontbreken er weken tussen week 33 - 46, week 47 en week 49 tot en met 53.
Hoe zou ik de query kunnen maken zodat alle weken van een jaar erin zitten, en voor de weken waarin er geen reacties zijn er 0 komt te staan bij aantal reacties?
Het is alweer even geleden dat ik hier een vraag gepost heb, maar nu loop ik toch echt weer eens vast met mijn beperkte MySQL kennis.
Het probleem is als volgt:
Voor een website wil ik een leuk grafiekje tekenen met een overzicht van het aantal reacties, dit gaat allemaal redelijk goed. Waar het fout gaat is dat ik geen weken uit mijn query krijg waarin geen enkele reactie is geplaatst.
De huidige query:
SQL:
1
2
3
4
5
6
7
8
9
| SELECT COUNT(`id`) AS reactions, DATE_FORMAT(`datetime`, '%V') AS weeknr, DATE_FORMAT(`datetime`, '%X') AS yearnr FROM `reactions` WHERE `datetime` > DATE_SUB(NOW(), INTERVAL 1 YEAR) GROUP BY weeknr, yearnr ORDER BY yearnr ASC, weeknr ASC |
Het resultaat hiervan is ongeveer als volgt:
| reactions | weeknr | yearnr |
|---|---|---|
| 4 | 15 | 2006 |
| 12 | 16 | 2006 |
| 12 | 17 | 2006 |
| 7 | 18 | 2006 |
| 4 | 19 | 2006 |
| 7 | 20 | 2006 |
| 14 | 21 | 2006 |
| 20 | 22 | 2006 |
| 16 | 23 | 2006 |
| 25 | 24 | 2006 |
| 23 | 25 | 2006 |
| 31 | 26 | 2006 |
| 41 | 27 | 2006 |
| 34 | 28 | 2006 |
| 15 | 29 | 2006 |
| 4 | 30 | 2006 |
| 12 | 31 | 2006 |
| 11 | 32 | 2006 |
| 23 | 33 | 2006 |
| 1 | 46 | 2006 |
| 1 | 48 | 2006 |
| 4 | 01 | 2007 |
Zoals je ziet ontbreken er weken tussen week 33 - 46, week 47 en week 49 tot en met 53.
Hoe zou ik de query kunnen maken zodat alle weken van een jaar erin zitten, en voor de weken waarin er geen reacties zijn er 0 komt te staan bij aantal reacties?