这个得用存储过程了,一句话查询肯定解决不了。delimiter //Create Procedure findtime()Begindeclare lastdtime datetime default null;declare thisdtime datetime default null;declare lastname varchar(10)
;declare thisname varchar(10)
;declare done tinyint default 0;declare cur cursor for select dtime,name from `table`
;declare continue handler for sqlstate '02000' set done=1;create temporary table if not exists `tmp`(dtime datetime, name varchar(10));while done1 doif lastdtime is null thenfetch cur into lastdtime,lastname;elsefetch cur into thisdtime,thisname;if timediff(thisdtime,lastdtime)>'00:05:00' theninsert into `tmp` (dtime,name)values(lastdtime,lastname)
;set lastdtime=thisdtime;set lastname=thisname;end if;end if;end while;select * from `tmp`;End//call findtime()//
Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有