0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
l l l l l l l
0 ^ x x o o o o o o o o o o o o o o o o o
1 ^ x o o o o o o o o o o o o o o o o o
2 ^ o o o o o o o o o o o o o o o o o
3 ^ x x o o o o o o o o o o o o o o
4 ^ x o o o o o o o o o o o o o o
5 ^ o o o o o o o o o o o o o o
6 ^ x x o o o o o o o o o o o
7 ^ x o o o o o o o o o o o
8 ^ o o o o o o o o o o o
9 ^ x x o o o o o o o o
10 ^ x o o o o o o o o
11 ^ o o o o o o o o
12 ^ x x o o o o o
13 ^ x o o o o o
14 ^ o o o o o
15 ^ x x o o
16 ^ x o o
17 ^ o o
18 ^ x
间隔3
0: 1, 2
1: 2
2:
3: 4, 5
4: 5
5:
6: 7, 8
7: 8
8:
9: 10,11
10:11
12:
间隔4 (L - I * INT(L / I)) N - L < I - (L - I * INT(L / I))
0: 1, 2, 3 0 3 < 4
1: 2, 3 1 2 < 3
2: 3 2 1 < 2
3: 3 0 < 1
4: 5, 6, 7 0
5: 6, 7 1
6: 7 2
7: 3
L N I
N >= I * (INT(L / I) + 1)
Select H_SA_MEMO.*
From H_SA_MEMO,
(Select MEMO_ID
From (Select MEMO_ID,
REMIND_START_TIME,
Datediff(Minute,REMIND_START_TIME,Getdate()) As N,
Isnull(Datediff(Minute,REMIND_START_TIME,LAST_READ_TIME),
0) As L,
REMIND_INTERVAL As I,
REMIND_TIMES
From H_SA_MEMO) As MEMO_LIST
Where N >= I * ((L / I) + 1)
And ((L / I) < REMIND_TIMES
Or REMIND_TIMES < 0)) As REMIND_MEMO_LIST
Where H_SA_MEMO.MEMO_ID = REMIND_MEMO_LIST.MEMO_ID