问题描述
我正在从客户端向 MysqL 数据库发送 sql 查询。 当我在 MysqL 中运行查询时,结果是正确的。
从客户端发送时,查询结果是错误的。 缺少最后一个 WHERE 子句。
查询原文如下所示:
SELECT SUM(Second_In_State) From
(SELECT
Time_Stamp,State,TIMESTAMPDIFF(SECOND,LAG(Time_Stamp) OVER(ORDER BY Time_Stamp),Time_Stamp)
AS Second_In_State
FROM db.xyz_1_state
ORDER BY Time_Stamp) AS T
Where State = 1;
Result 是 State = 1(想要的结果)的秒数
SELECT SUM(Second_In_State) From
(SELECT
Time_Stamp,Time_Stamp)
AS Second_In_State
FROM db.xyz_1_state
ORDER BY Time_Stamp) AS T
结果是所有状态的总秒数。 (错误的结果)
有什么建议为什么缺少最后一行吗?
解决方法
感谢您的评论。
我发现客户端的行数有限。所以保存时最后一行被删除。
因此将查询转换为一行,解决了问题。
谢谢。