Другой вариант, помимо использования коррелированных подзапросов, заключается в том, чтобы написать это левое самостоятельное соединение, что-то вроде этого:
SELECT t.*
FROM t
LEFT JOIN t AS t2 ON t.day = t2.day AND t2.event3 > t.event3
WHERE t2.id IS NULL
Если вы хотите выбирать произвольную подходящую строку каждый день в случае нескольких строки с одним и тем же максимальным событием3, отметьте GROUP BY t.day
в конце этого.
Я не уверен, как производительность этого будет сравниваться с решениями Гордона Линоффа, но они могут быть собраны в довольно похожий запрос в любом случае планы СУРБД.