Мне нужно написать запрос, который сообщит мне, сколько раз тест не удался в течение последних двадцати попыток (но только подсчета попыток, предпринятых сегодня и только если было предпринято по меньшей мере двадцать попыток сегодня). Меня особенно интересуеттолько те, которые потерпели неудачу 10 или более раз за последние 20 итераций.
Схема:
test_results
-----------------
id
test_id
status (0 failed, 1 passed)
date_ran
Вот как далеко я дошел до потери сюжета:
SELECT count(*) as num_failed, test_id
FROM test_results
WHERE
date_ran > '2011-03-21 00:00:00'
AND
status = 0
AND
test_id IN ( -- some sort of subquery that gives me tests that have run
at least 20 times today, regardless of status --)
GROUP BY test_id
HAVING num_failed > 9
ORDER BY date_ran DESC