Aquí está su consulta:
SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(`time`, '%H'), ':', (FLOOR(DATE_FORMAT(`time`, '%i') / 15) * 15), ':00'), '%H:%i:%s') `starttime`, AVG(`power`) `avgpower`
FROM `tablea`
GROUP BY `starttime`;
No dude en reemplazar la tabla (tablea
) y columnas (time
y power
) nombres según su esquema.
Espero que esto ayude.