SQL 查询中缺少 Where 子句

问题描述

我正在从客户端向 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(想要的结果)的秒数

MysqL 查询日志中,查询如下所示:

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

结果是所有状态的总秒数。 (错误的结果)

有什么建议为什么缺少最后一行吗?

解决方法

感谢您的评论。

我发现客户端的行数有限。所以保存时最后一行被删除。

因此将查询转换为一行,解决了问题。

谢谢。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...