我有一个简单的数据
'crossType' [1-8] | 'isLocal' [1-2] | 'dayCross' [int] | TIMESTAMP
我想在 'crossType' = 2
的最新插入数据之前找到 'isLocal' = 1
的最新插入数据,那么我的输出是 'dayCross'
比如
'crossType' [1-8] | 'isLocal' [1-2] | 'dayCross' [int] | TIMESTAMP
1 | 1 | 3 | xx:xx:xxxx
2 | 2 | 5 | xx:xx:xxxx
5 | 2 | 7 | xx:xx:xxxx
3 | 1 | 9 | xx:xx:xxxx
2 | 1 | 10 | xx:xx:xxxx
'crossType'=2的最新插入数据为
2 | 2 | 5 | xx:xx:xxxx
然后'isLocal'最新插入数据=1
3 | 1 | 9 | xx:xx:xxxx
我的输出将是9
这个问题的查询语句是什么。
谢谢。
最佳答案
试试这个:
select dayCross
from your_table
where isLocal = 1
and timestamp < ( select max(timestamp)
from your_table
where crossType = 2
)
order by timestamp desc
limit 1;
外部查询将返回最新的 dayCross
,其 timestamp
早于 crossType
2 的最新 timestamp
(可在子查询)。
关于mysql - MySQL在Y类型最新插入数据之前查询X类型最新插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42038510/