我在MySQL中有一个按时间戳排序的大型数据集,其中包含缺少的空白,我试图用上一个时间戳中的数据填补几分钟之间的空白。我想要完成的一个例子是:
2013-10-04 13:51:00
2013-10-04 13:50:00
2013-10-04 13:48:00
2013-10-04 13:47:00
2013-10-04 13:46:00
如果差距介于13:48:00和13:50:00之间,我想在13:49:00插入一行,其中包含13:48:00的数据。这只能使用MySQL查询吗?如果是这样,查询会是什么样的?
答案 0 :(得分:2)
为什么不调整SELECT查询,而不是复制数据?像这样的东西会起作用:
SELECT * FROM `tableName` WHERE `timestampColumn` <= '2013-10-04 13:49:00'
ORDER BY `timestampColumn` DESC LIMIT 1
确保您对timestampColumn
编制索引以确保良好的效果。在此示例中,它将通过查找紧邻其之前的数据来查找“缺失”数据。这也意味着您可以随时查询,而不仅仅是确切的分钟。