Я бы сделал как-нибудь вот так:
CREATE TABLE IF NOT EXISTS `questions` (
`id` int unsigned not null AUTO_INCREMENT,
`created` timestamp not null default '0000-00-00 00:00:00',
`title` varchar(256) not null,
`content` text not null,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `answers` (
`id` int unsigned not null AUTO_INCREMENT,
`created` timestamp not null default '0000-00-00 00:00:00',
`question_id` int unsigned not null,
`user_id` int unsigned,
`content` varchar(4096) not null,
PRIMARY KEY (`id`),
CONSTRAINT `answer_ibfk_1` FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`) ON DELETE CASCADE,
CONSTRAINT `answer_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB;
/* Подсчет кол-ва ответов нужного вопроса */
SELECT COUNT(*)
FROM answers
WHERE answers.question_id = 'id_вопроса';
/* Вывод вопроса со всеми ответами */
SELECT q.id, q.created, q.title, q.content, a.created as answer_created, a.user_id as answer_user_id, a.content as answer_content
FROM questions q
LEFT JOIN answers a ON q.id = a.question_id
ORDER BY q.created DESC
LIMIT 10;