在我的 MySQL 数据库表中,每隔 10 分钟就有一次数据,例如 //时间格式"yyyy-MM-dd hh:mm:ss"
Time | value
2012-03-02 1:10:00|2
2012-03-02 1:20:00|5
.
2012-03-02 2:00:00|3
用户可以选择开始时间、结束时间和时间间隔(10分钟,30,1小时,1天), 例如,如果用户选择开始时间
:2012-03-02 1:15:00 结束时间2012-03-02 2:10:00 间隔10分钟结果
Time | value.
2012-03-02 1:15:00|2
2012-03-02 1:25:00|5
.
2012-03-02 2:05:00|3
Value为时间间隔内的最后一个数据,(如第15个数据值就是第10分钟的值)
我现在做的是在不考虑时间间隔的情况下获取时间段内的整组数据,然后手动操作数据集(在我的程序中)以根据用户选择的时间间隔获得结果, 时间间隔表示:10 分钟,30 分钟,1 小时,1 天
我的 C# 程序变得很慢,因为有很多迭代,它们是我可以直接查询数据库并立即获取数据的任何方式,非常感谢您的评论
最佳答案
您可以通过将时间间隔存储为代表开始和结束间隔的两个 DateTime
字段来避免所有这些问题,而不是将您的时间间隔存储为一个值,如下所示:
用户 ID
。StartingInterval
:日期时间。EndingInterval
:日期时间。
然后你可以通过减去两个datetime
字段得到时间间隔,对于落入一组间隔的一组数据通过使用BETWEEN
两个字段.
关于c# - mysql数据按时间间隔排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836288/