作者LaPass (LaPass)
看板Database
标题[SQL ] 选出某个条件的前两笔资料做处理
时间Thu Jul 19 22:38:29 2012
资料库是MS SQL
不过希望MySQL以及其他资料库也可以用
Type是类型代号
state 是状态
Time 是日期
table test
ID Type state Time
1 1 0 2012-07-19
2 1 1 2012-07-20
3 2 2 2012-07-21
4 2 1 2012-07-17
5 2 0 2012-07-18
6 3 0 2012-07-19
7 4 0 2012-07-18
8 4 0 2012-07-20
9 4 2 2012-07-17
10 5 1 2012-07-18
11 5 2 2012-07-19
希望捞出来的东西是:
取同一Type下
如果最新的一天的state是2,flag=2
如果最新的一天的state是1,flag=1
如果最新的一天的state是0,判断最新的第二天的state
如果第二新的state是2,flag=2
如果第二新的state是1,flag=1
如果第二新的state是0,flag=1
如果没有第二天,flag=1
出来的结果是
Type flag
1 1
2 2
3 1
4 2
5 2
虽然这个问题已经用程式捞出来判断後解决了
可是还在想,是不是能用纯SQL命令解决掉这个问题
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.38.82.196
1F:→ moyasi:照你的逻辑Type 4的flag应该是1啊 07/20 16:10
2F:→ LaPass:抱歉 那个是我看错了 07/20 17:02