Вам нужно начинать запрос с минут, к которым джойнить свою таблицу, тогда в результате будут и минуты с отсутствующими данными отображаться. Зачастую это в отдельной таблице хранят или процедуру с лупами делают.
Там же при выборке минут можно добавить условие на коэффициент ресамплирования (выбирать каждую минуту, каждую 3-ю, каждую 5-ю и тд, через остаток от деления, например).
Первое и последнее значение через дополнительный джойн этой же таблицы (в джойнутой таблице выбираем минимальное/максимальное время с группировкой по минуте, для этого времени значение, джойнимся с основной таблицей по времени)
ЗЫ редактировал ответ, т.к. пропустил один вопрос в тексте