У меня есть таблица вопросов, изложенная так..
идентификатор | вопрос | ответ | программа | трудность
Я хочу создать оператор SQL, который случайным образом выбирает 5 вопросов для каждой из отдельных программ, когда сложность невелика.
Итак, если есть 4 программы, у меня будет 20 вопросов.
Я думал о чем-то подобном...
SELECT
*
FROM
questions
WHERE
difficulty='easy'
AND
syllabus
IN
(
SELECT DISTINCT
syllabus
FROM
questions
WHERE
difficulty='easy'
)
LIMIT
(5*
(
SELECT
COUNT(DISTINCT syllabus)
FROM
questions
WHERE
difficulty='easy'
)
Но это не возвращает 5 из каждой из отдельных программ, а только правильное количество вопросов из любой программы.
LIMIT 5*(SELECT COUNT(*) ...)
утверждение. - person ypercubeᵀᴹ   schedule 24.10.2011