Ik ben al enige tijd bezig met het maken van een query maar het lukt niet helemaal

Wat wil ik terug zien van mijn tabel:
Ik wil de laatste 100 ingevulde datumvelden verzamelen (voteDate) en optellen hoevaal er waarop is gestemd (GOOD, OK OR BAD).

Ik dacht zelf in de richting van:
SELECT
COUNT(case when `rating` = 'GOOD' then 1 else null end) AS 'GOOD',
COUNT(case when `rating` = 'OK' then 1 else null end) AS 'OK',
COUNT(case when `rating` = 'BAD' then 1 else null end) AS 'BAD',
COUNT(case when `rating` IS NOT NULL then 1 else null end) AS 'TOTAL'
FROM `feedback` WHERE `voteDate` IS NOT NULL
LIMIT 100

Dit geeft natuurlijk maar 1 rij terug waardoor die limit 100 niet zal werken.

Dus van de laatste 100 reacties (via voteDate) wil ik optellen hoeveel reacties van welk soort er terug zijn gekomen.

Kunnen jullie wat suggestisch gooien?
De extra select (subquery) is de 'dooddoener', maar valt niet te vermijden als je over de 100 laatste informatie wilt.
Je zou bijvoorbeeld wel alleen vanaf een bepaalde datum kunnen selecteren, dan heb je de subquery niet meer nodig.

Ik begrijp overigens niet waarom dit nodig is:

WHERE `voteDate` IS NOT NULL


dank jullie voor de reacties! ik ga kijken wat ik kan vinden!

@Ger:
Dit omdat voteDate niet altijd ingevuld is.

[size=xsmall]Toevoeging op 26/08/2014 08:59:50:[/size]

Ralph van Delft op 26/08/2014 08:29:12

dank jullie voor de reacties! ik ga kijken wat ik kan vinden!

@Ger:
Dit omdat voteDate niet altijd ingevuld is.
hah je hebt gelijk!


Reageren