select top 1 Question from questions
inner join answers on questions.Id = answers.QuestionId
order by answers.CreatedOn desc
Извините за задержку с ответом на комментарий, раньше у меня не было времени проверить его:
Это становится сложнее, но что-то вроде этого должно работать:
select top 5 Question from questions
inner join answers on questions.Id = answers.QuestionId
GROUP BY Question
ORDER BY max(answers.CreatedOn) desc
Похоже, что это стандартный шаблон для эффективного получения отдельного набора данных из таблицы без включения порядка по столбцам в набор записей.
Помните, что количество элементов, которые вы хотите выбрать (в данном случае 5), должно быть постоянным в SQL. Если у вас есть преимущество использования чего-то вроде LINQ to SQL, вы можете записать это в LINQ и получить в качестве переменной сумму тэка.
Итак, в ответ на последний комментарий вы просто добавили бы max (answers.CreatedOn) в оператор выбора:
select top 5 Question, max(answers.CreatedOn)
from questions
inner join answers on questions.Id = answers.QuestionId
GROUP BY Question
ORDER BY max(answers.CreatedOn) desc