Det är lite otäckt när du gör det med datetime-datatyper; en trevlig kandidat för en lagrad funktion.
DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time),5) MINUTE ),
INTERVAL SECOND(time) SECOND)
Det är enklare när du använder UNIXTIME-tidsstämplar men det är begränsat till ett datumintervall 1970–2038.
FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time),300))
Lycka till.