[英]Where clause missing in SQL Query
我正在从客户端向 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;
结果是 State = 1 的秒数(想要的结果)
在 MySQL 查询日志中,查询如下所示:
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
结果是所有状态的总秒数。 (错误的结果)
有什么建议为什么缺少最后一行?
感谢您的意见。
我发现客户端的行数有限。 所以保存时最后一行被删除。
所以将查询转换为单行,解决了这个问题。
谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.