select TIMESTAMPDIFF(MINUTE,begintime,endtime) into diffMinute;
select CEILING(diffMinute/baseminute) into repeatCount;
set @i=1;
while @i<=repeatCount do
set nextbegintime=date_add(begintime, interval baseminute minute);
insert into tmp_table_begin_end(begintime,endtime) values (begintime,date_add(nextbegintime, interval -1 second));
set begintime=nextbegintime;
set @i=@i+1;
end WHILE;
END
好了,然后一条测试sql:
select *,(select count(*) from tmp_data where datestr BETWEEN tmp_table_begin_end.begintime and tmp_table_begin_end.endtime) from tmp_table_begin_end