Je to trochu ošklivé, když to děláte s datovými typy datetime; pěkný kandidát na uloženou funkci.
DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time),5) MINUTE ),
INTERVAL SECOND(time) SECOND)
Je to jednodušší, když používáte časová razítka UNIXTIME, ale to je omezeno na období 1970–2038.
FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time),300))
Hodně štěstí.