java - 如何使用Java从mysql获取最后2分钟的数据

标签 java mysql api

我需要使用 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/

相关文章:

java - 如何从这个 JSONString 解析?

php - 将多维数组信息插入数据库

java - spring下载excel文件

java - 具有 Java API 的 CardDAV 服务器(或工作 CardDAV Java 客户端 API)

java - 将 ImageJ 宏命令实现到现有插件中

java - 在 Java 中将字符串转换为 ByteBuffer

java - 记录异常原因时是否必须测试空值?

javascript - 无法将数据从 php 返回到 JavaScript

php - MySQL 枚举。使用字符串还是数字更好

Django Tastypie 和 Django 1.4