我有以下表格
Actions: actionID, time, type
States: stateID, time, type
我需要找出执行操作时的当前状态。
所以我从类似的东西开始
SELECT actions.actionID, states.stateID
FROM actions, states
WHERE states.time < actions.time
这给了我一个结果表,其中包含在给定操作发生之前存在的所有状态。但我只需要动作之前的最后一个状态。
所以我需要某种基于 max(states.stateID) 的 GROUP BY 但老实说我不知道如何解决这个问题!
编辑
因此,如果操作表包含以下内容:
actionID time type
1 '2012-10-30 02:05:00' 100
2 '2012-10-30 02:11:00' 200
状态表包含以下内容:
stateID time type
11 '2012-10-30 02:00:00' A
12 '2012-10-30 02:10:00' B
13 '2012-10-30 02:15:00' A
我想要以下结果:
actionID stateID
1 11 // Because before action 1, the state that prevailed was 11
2 12 // Because before action 2, the state that prevailed was 12