【发布时间】:2019-05-27 08:32:23
【问题描述】:
在 MySQL 中,我想根据另一列“时间戳”减去不同时间间隔的列值。
table structure is :
id | generator_id | timestamp | generated_value
1 | 1 | 2019-05-27 06:55:20 | 123456
2 | 1 | 2019-05-27 07:55:20 | 234566
3 | 1 | 2019-05-27 08:55:20 | 333456
..
..
20 | 1 | 2019-05-27 19:55:20 | 9876908
从上表中我想获取 generate_value 列值,它应该是第一个时间戳的日期和日期的最后一个值的时间戳的差异。
在上面的示例中,我正在查找应该输出为 9,753,452 (9876908 - 123456) 的查询。
一般来说,为了获取我在查询下面使用的第一个值和最后一个值的单个记录
// Below will give me end day value
SELECT * FROM generator_meters where generator_id=1 and timestamp like '2019-05-27%' order by timestamp desc limit 1 ;
//this will give me last day value
SELECT * FROM generator_meters where generator_id=1 and timestamp like '2019-05-27%' order by timestamp limit 1 ;
问题是我应该如何通过从一天的最后一个值减去一天的第一个值来获得最终的生成值。
Expected Output
generator_id | generated_value
1 | 9753452
提前致谢!!
【问题讨论】:
-
查看这个问题的答案:stackoverflow.com/questions/26817139/…
-
标记适当的数据库。
-
@mkRabbani 用数据库名称作为 SQL 编辑了问题,谢谢!!
-
从上述结果集中发布您的预期输出。
-
@mkRabbani : 更新了预期的输出表,谢谢!!