【发布时间】:2015-04-15 01:28:38
【问题描述】:
我一直在尝试解决这个问题,也许我的问题是提出了正确的搜索查询。我不确定。
无论如何,我遇到的问题是我有一个数据表,该表每秒添加一个新行(想象一下结构 {id, timestamp(datetime), value})。我想对 MySQL 进行一次查询以遍历表并仅输出每分钟的第一个值。
我曾考虑使用 LIMIT 和 datetime >=(分钟开始)的多个查询来执行此操作,但由于我收集的数据量很大,因此在单个查询中生成数据会更好查询。
样本数据:
id datetime value
1 2015-01-01 00:00:00 128
2 2015-01-01 00:00:01 127
3 2015-01-01 00:00:04 129
4 2015-01-01 00:00:05 127
...
67 2015-01-01 00:00:59 112
68 2015-01-01 00:01:12 108
69 2015-01-01 00:01:13 109
我希望结果选择行的位置:
1 2015-01-01 00:00:00 128
68 2015-01-01 00:01:12 108
有什么想法吗?
谢谢!
编辑:忘记添加,虽然每秒的数据并不可靠地在每分钟的第一秒 - 它可能是 :30 或 :01 而不是每分钟后的 :00 秒
编辑 2:一个不错的(绝对不需要回答)将是一个灵活的查询,也可以花费任意分钟数(而不是每分钟一行)
【问题讨论】:
-
添加您的代表性样本数据和预期结果。同时发布您解决问题的最佳方法。
-
您说,在给定的一分钟内,您的行数可以少于 60 行。如果某一分钟根本没有任何值,您希望在这一分钟的结果集中看到什么?