MySQL选择时间戳最接近但不超过给定时间戳的行
发布时间:2020-12-11 23:35:50 所属栏目:MySql教程 来源:网络整理
导读:我有一张桌子,看起来如下 state_history+---------------------+-----------+----------------+ +| state_added_time | entity_id | state_id | .... |+---------------------+-----------+----------------+ || 2015-05-15 13:24:22 | 1 | 1 | || 2015-05-1
我有一张桌子,看起来如下
我的目的是在任何特定时间了解所有实体的状态.例如,如果从应用程序收到的时间戳是2015-05-15 14:25:00,那么预期的输出应该是:
也就是说,要知道在给定时间之前或之后每个实体发生的最后状态变化.状态变化之间的间隔不固定.因此,我不能有2个时间边界,并在它们之间找到行. 我尝试过使用TIMEDIFF但未能获得所需的输出.任何人都可以指导我走的路吗? 编辑:感谢大家的快速回复.我尝试了答案,并注意到在实际数据库上执行时,查询需要花费大量时间来获取行.可能是因为字段entity_id和state_id是其他两个表的外键.
每次遇到新的entity_id时都会重置@row_number.在每个entity_id中,@ row_number = 1的值指向最近的记录. SQL Fiddle Demo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- MYSQL教程mysql5.6.19下子查询为什么无法使用索引
- MYSQL教程详谈innodb的锁(record,gap,Next-Key l
- Mysql必读mysql 5.7.11 安装配置教程
- Mysql入门mysql数据库备份命令mysqldump实例
- Mysql应用mysql 5.7.12 winx64安装配置方法图文教
- mysql – 如何仅使用(My)SQL使限制偏移动态化
- mysql提示used in key specification without a
- MYSQL数据库深入理解MySQL中的事务机制
- c# – MYSQL中不存在Canonical Function“Entit
- MYSQL工具之binlog2sql闪回操作
热点阅读