- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
登入時間紀錄
- ID LoginTime
- -----------------------------------
- a1006 2004-07-29 12:24:15.000
- a1006 2004-07-29 13:53:43.000
- a1006 2004-07-29 22:42:15.000
- a1006 2004-07-30 10:23:12.000
- a1006 2004-07-30 19:03:23.000
- a1006 2004-07-30 19:42:56.000
- a1006 2004-07-30 20:22:51.000
- a1006 2004-08-02 20:31:36.000
- freedom545 2004-07-30 02:30:29.000
- freedom545 2004-07-31 01:06:16.000
- freedom545 2004-08-01 00:29:41.000
- freedom545 2004-08-01 01:23:10.000
- freedom545 2004-08-03 14:50:45.000
- freedom545 2004-08-03 14:54:07.000
複製代碼
理想中的萃取結果為:
- ID InterLoginTime
- ----------------------------
- a1006 1 -------------2004-07-29 (13) - 2004-07-29 (12)
- a1006 9 -------------2004-07-29 (22) - 2004-07-29 (13)
- a1006 12 -------------2004-07-30 (10) - 2004-07-29 (22)
- a1006 9 -------------2004-07-30 (19) - 2004-07-30 (10)
- a1006 1 -------------2004-07-30 (20) - 2004-07-30 (19)
- a1006 72 -------------2004-08-02 (20) - 2004-07-30 (20)
- freedom545 23 -------------2004-07-31 (01) - 2004-07-30 (02)
- freedom545 23 -------------2004-08-01 (00) - 2004-07-31 (01)
- freedom545 1 -------------2004-08-01 (01) - 2004-08-01 (00)
- freedom545 61 -------------2004-08-03 (14) - 2004-08-01 (01)
複製代碼
準備測試環境
- CREATE TABLE DemoA
- (
- ID VARCHAR(20)
- ,Login DATETIME
- )
- GO
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-29 12:24:15.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-29 13:53:43.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-29 22:42:15.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-30 10:23:12.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-30 19:03:23.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-30 19:42:56.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-07-30 20:22:51.000')
- INSERT INTO DemoA(ID,Login) VALUES('a1006','2004-08-02 20:31:36.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-07-30 02:30:29.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-07-31 01:06:16.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-08-01 00:29:41.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-08-01 01:23:10.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-08-03 14:50:45.000')
- INSERT INTO DemoA(ID,Login) VALUES('freedom545','2004-08-03 14:54:07.000')
- GO
複製代碼
萃取資料
- select distinct ID
- , LT=convert(datetime,convert(char(13),login,120) + ':00:00',110)
- into #T1
- from demoa
- select * from
- (select A.ID, A.LT
- ,Hr=(select top 1 datediff(hour,A.LT,B.LT) from #T1 B where A.ID=B.ID and B.LT > A.LT order by B.LT)
- from #T1 A) as VT1
- where Hr is not null
- order by ID, LT
- drop TABLE #T1
複製代碼
得到結果
- ID LT Hr
- ------------- -------------------------- -----
- a1006 2004-07-29 12:00:00.000 1
- a1006 2004-07-29 13:00:00.000 9
- a1006 2004-07-29 22:00:00.000 12
- a1006 2004-07-30 10:00:00.000 9
- a1006 2004-07-30 19:00:00.000 1
- a1006 2004-07-30 20:00:00.000 72
- freedom545 2004-07-30 02:00:00.000 23
- freedom545 2004-07-31 01:00:00.000 23
- freedom545 2004-08-01 00:00:00.000 1
- freedom545 2004-08-01 01:00:00.000 61
複製代碼 |
|