哪个查询将从具有累积值的SQLite数据中返回每小时消耗量



首先,在SQL方面,我几乎是一个完全的新手,所以我痛苦地意识到,除了最简单的查询之外,我可能需要接受任何东西。我已经搜索了很多,但我发现的大多数相关例子似乎过于复杂或笼统,无法帮助我解决问题。

我在SQLite数据库中有下表:

CHANGE_DATE NEW_VALUE
2022-01-20 01:21:53 341
2022-01-20 01:11:55 341
2022-01-19 23:05:16 341
2022-01-19 22:55:08 340
2022-01-19 22:45:08 340
2022-01-19 22:41:02 340
2022-01-19 20:38:46 339
2022-01-19 20:35:13 339
2022-01-19 20:25:15 339
2022-01-19 20:15:08 338
2022-01-19 18:11:42 338
2022-01-19 18:05:10 338

使用一些与您的语言技能相关的ORM

javascript:mockc#:dapper,实体框架python:sqlallschemejava:弹簧…


所以如果你想要纯SQL查询,我希望下面的代码能帮助你:

该代码向您显示每小时的最大新值:

select Max(new_value) as max_value , strftime('%Y-%m-%d %H', 
change_date) as _date
from [table_name] 
GROUP BY strftime('%H', change_date),strftime('%j', change_date)
ORDER by _date DESC

该代码将显示一小时内不同值之间每小时的总变化:

select Max(new_value)-Min(new_value) as total_change_per_hour , strftime('%Y-%m-%d %H', change_date) as _date
from [table_name] 
GROUP BY strftime('%H', change_date),strftime('%j', change_date)
ORDER by _date DESC

如果你每天都想要它,只需将其更改为以下代码:

select Max(new_value)-Min(new_value) as total_change_per_hour , strftime('%Y-%m-%d %H', change_date) as _date
from [table_name] 
GROUP BY strftime('%j', change_date)
ORDER by _date DESC

您应该将[table_name]替换为您的表名

您可以通过这个链接了解更多关于在sql中使用时间的信息

最新更新