我需要使用 Java 程序从 MySQL 数据库检索最后 2 分钟的数据?我不知道如何编写查询来获取特定时间间隔的数据并引用了很多,但我没有找到正确的查询?有人可以帮我吗?
下面是我的 Java 程序,它连接到 MySQL 数据库,它有查询,但该查询不起作用并抛出 SQLSyntaxErrorException。
public static void main(String[] args)
{
String qry = "SELECT * FROM test.api WHERE EndTime = SELECT max(time) - interval 2 minute";
String url = "jdbc:mysql://localhost:3306";
String user = "root";
String password = "root@123";
Connection conn = null;
try
{
conn = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = conn.prepareStatement(qry);
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
String Name = rs.getString("Name");
String time = rs.getString("EndTime");
System.out.println(time);
System.out.println(Name);
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
if(conn != null)
{
try
{
conn.close();
System.out.println("---Connection closed successfully---");
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
最佳答案
不要使用 max(time) 而是使用 now()
String qry = "SELECT * FROM test.api WHERE EndTime = date_sub(now(), interval 2 minute)";
关于java - 如何使用Java从mysql获取最后2分钟的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49151448/