作者 主題: 請何取出時間相差1分鐘內的紀錄?  (閱讀 5835 次)

0 會員 與 1 訪客 正在閱讀本文。

NARs

  • 活潑的大學生
  • ***
  • 文章數: 227
    • 檢視個人資料
請何取出時間相差1分鐘內的紀錄?
« 於: 2013-12-25 10:37 »
資料庫的格式是varchar(20)
儲存的形式是 2013-12-23 22:43:04
請問要如何取出有相差1分鐘內的紀錄?


例如:
id time
1 2013-12-23 08:20:04
2 2013-12-23 08:20:54
3 2013-12-23 08:20:24
4 2013-12-23 10:43:14
5 2013-12-23 10:43:04
6 2013-12-23 07:43:04
7 2013-12-23 05:43:04
8 2013-12-23 03:43:04


則可以取出

1 2013-12-23 08:20:04
2 2013-12-23 08:20:54
3 2013-12-23 08:20:24


4 2013-12-23 10:43:14
5 2013-12-23 10:43:04

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 請何取出時間相差1分鐘內的紀錄?
« 回覆 #1 於: 2013-12-25 12:11 »
資料庫的格式是varchar(20)
儲存的形式是 2013-12-23 22:43:04
請問要如何取出有相差1分鐘內的紀錄?


例如:
id time
1 2013-12-23 08:20:04
2 2013-12-23 08:20:54
3 2013-12-23 08:20:24
4 2013-12-23 10:43:14
5 2013-12-23 10:43:04
6 2013-12-23 07:43:04
7 2013-12-23 05:43:04
8 2013-12-23 03:43:04


則可以取出

1 2013-12-23 08:20:04
2 2013-12-23 08:20:54
3 2013-12-23 08:20:24


4 2013-12-23 10:43:14
5 2013-12-23 10:43:04

MySQL 的話可以用 ABS(TIMESTAMPDIFF(SECOND, t1.time, t2.time)) 來抓
t2.time 可能要用子查詢來處理(我是這樣試的啦 ^_^)
我有試出結果,樓主自己先玩看看吧 :D

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 請何取出時間相差1分鐘內的紀錄?
« 回覆 #2 於: 2014-01-03 13:04 »
剛剛吃飯時突然想到這個問題又試了一下
其實不用子查詢也可以,用兩次 left join
一次抓上一筆(id-1),一次抓下一筆(id+1)來比對
跑出來結果跟上次用子查詢一樣

hoyo

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 4053
  • 性別: 男
  • 有需要的時候,學習就不會分階段。
    • 檢視個人資料
    • 樂咖黑電腦學習網
Re: 請何取出時間相差1分鐘內的紀錄?
« 回覆 #3 於: 2014-01-03 13:12 »
在 PHP 內

GROUP BY 迴圈 {
     執行 LIKE
}
受人與魚,不如授人與漁
上海自來水來自海上;倫敦好奇人奇好敦倫