Re: [SQL ] 時間篩選

看板Database作者 (TeemingVoid)時間13年前 (2012/02/28 14:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《lihsien (希洛)》之銘言: : ... : 假如資料表長這樣 有沒有一種語法是可以挑出時間間格的 也就是會變成這樣 : number s_time : 1 13:10:00 : 4 13:12:30 : 5 21:00:30 : 7 21:12:37 : 8 22:44:55 : 10 22:46:13 : 只要上下筆資料間格超過3分鐘 就把他給挑出來 : 其實就是指說 我要每一段旅程的頭跟尾 MySQL 有 TimeDiff() 函數可計算出兩個時間的時間差, 利用這個函數搭配子查詢,即可查出前後筆的時間差。 use test; create table TaxiLog ( id int primary key, LogTime time -- 不包括日期 ); insert into TaxiLog (id, logTime) values (1, '13:10:00'), (2, '13:10:30'), (3, '13:11:01'), (4, '13:12:30'), (5, '21:00:30'), (6, '21:11:00'), (7, '21:12:07'), (8, '22:44:55'), (9, '22:45:30'), (10, '22:46:13'); select * from TaxiLog T where TimeDiff( (select LogTime from TaxiLog where id = T.id + 1), LogTime) >= '00:03:00' or TimeDiff( LogTime, (select LogTime from TaxiLog where id = T.id - 1)) >= '00:03:00' or id = 1 order by id; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.41.99.161
文章代碼(AID): #1FJ7bdkK (Database)
文章代碼(AID): #1FJ7bdkK (Database)