J'ai une table comme ceci:obtenir des entrées par date max
CREATE TABLE IF NOT EXISTS `answered` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`question_id` int(11) NOT NULL,
`correct` tinyint(1) NOT NULL DEFAULT '0',
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
);
et
CREATE TABLE IF NOT EXISTS `questions` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
);
je dois sélectionner le nombre de réponses correctes et incorrectes, MAIS: si la même question a plusieurs réponses (il peut y avoir plus d'entrées dans "répondu" avec même question_id) seulement le dernier (déterminé par "répondu.créé") comptera.
structure de résultatdevrait ressembler à:
correct count
0 1
1 3
Fiddle: http://sqlfiddle.com/#!2/11073
Mon essai:
SELECT a.correct, count(*) as count
FROM answered a
JOIN questions q ON a.question_id = q.id
GROUP BY correct
cela fonctionne, mais compte même question_ids plus d'une fois.