mysql - MySQL在Y类型最新插入数据之前查询X类型最新插入数据

标签 mysql

我有一个简单的数据

'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/

相关文章:

php - 使用内部联接选择 COUNT

mysql获取具有元值的两个日期之间的记录

mysql - 带连接的 SQL 查询仅选择 1 行

php - 选择当月的记录而不进行全表扫描

mysql - 如何为此内容设置 MySQL 表可编辑

Java 替换字符串

Python MySQLdb 防止 SQL 注入(inject) - 未按预期工作

mysql - 如何合并两个mysql查询结果?

php - 如何从多个表中查找一个月内的日常收藏

php - Docker-compose(CakePHP 2x 和 MySQL)抛出 PHP fatal error