È un po' sgradevole quando lo fai con i tipi di dati datetime; un bel candidato per una funzione memorizzata.
DATE_SUB(DATE_SUB(time, INTERVAL MOD(MINUTE(time),5) MINUTE ),
INTERVAL SECOND(time) SECOND)
È più facile quando utilizzi i timestamp UNIXTIME, ma è limitato a un intervallo di date compreso tra 1970 e 2038.
FROM_UNIXTIME(UNIX_TIMESTAMP(time) - MOD(UNIX_TIMESTAMP(time),300))
Buona fortuna.