我在MariaDB表中有以下内容:x1c 0d1x
表的结构如下:
每天可以有几个“中间值”,这样我就可以使用下面的SQL命令:
SELECT
MAX(PayLoad_REAL) - MIN(PayLoad_REAL) AS PayLoad_REAL_Difference
FROM
TEST_STATUS
WHERE
Topic = 'test'
AND DATE_TIME BETWEEN '2023-12-11' AND '2023-12-12';
字符串
得到从2023-12-11到2023-12-12过滤的差值。在这种情况下,20.5 - 10 = 10.5,但我得到7作为结果。
它是一个每天多次向数据库发送值的电能表。我想使用查询来找出每天的差值有多高。在上面的示例中,11.12.23上的最后一个阅读是10,12.12.23上的阅读是20.5,这导致一天的差值为10.5
我需要改变什么/我做错了什么?
非常感谢
2条答案
按热度按时间ybzsozfc1#
DATE_TIME
字段定义为timestamp
,WHERE
子句的日期介于2023-12-11和2023-12-12之间。在图像中的行中,前三行将符合条件,因为最后一行的时间戳值大于2023-12-12。
行的最大值
PayLoad_REAL
为10,最小值为3,两者之差为7。如果你只想与日期部分进行比较,请将时间戳转换为日期:
字符串
如果你只想得到一天的数据
型
vof42yt12#
现在我找到了一种计算每日差额的方法,它一方面计算差额,另一方面查询每日最高值:
字符串