【问题标题】:Based on this db query inside this method, i need to return the last record. Sometimes this query will return multiple records基于此方法中的此数据库查询,我需要返回最后一条记录。有时这个查询会返回多条记录
【发布时间】:2019-05-14 01:00:45
【问题描述】:

//这个查询可以返回多条记录,多条记录的情况下,总是返回查询的最后一条记录。

public People(int peopleId) {

        Prepared Statement SQL= null;
        try {
            System.out.println("Getting Phone for " + personSerId);
            Prepared SQL= new DatabaseController(verbose);

            PreparedStatement secureStatement = prepareStatement(sqlStatement);
            s
            dbConnection.querySecureRecord(SQL);
               (((File) ("item")));
                theNumber.setPhone((String) dbConnection.getField("phone"));
                theNumber.phone(dbConnection.getField("number") == null ? "" : (((String) 
            }
        } catch (Exception masterException) {
            System.err.println("Database Query Error in : " + masterException);

        return the person;
    }

【问题讨论】:

  • 查询是否有顺序保证?
  • 只需按照您需要的方式对行进行排序。在查询末尾添加:“order by id desc”。
  • 谢谢 Olek 我认为这可能有效。罗盘基于最后插入的顺序将出现在排序的最后。
  • 如果我只想返回最新的一条记录,而不是按 desc 排序的组,该怎么办?感谢大家的帮助。
  • Guys order by won't work..我需要在查询结果中获取最后一条记录。因此,forloop 可能很有用并返回最后一次迭代。有人可以帮忙吗?

标签: java database postgresql jsp


【解决方案1】:

你必须做三件事。

  1. 指定排序方式(id、创建日期...):this post says there is no guaranteed ordering if none is specified.
  2. 降序排列,因此列表中的第一件事就是您想要的
  3. 将查询限制为 1

似乎一个问题是,即使只预期一个结果,数据库控制器也会迭代结果集。因此,即使只有一个(或可能没有)要获得,您仍可能必须从列表中获得“第一个”结果。

【讨论】:

  • 感谢您的回复。这是一种独特的情况,如果用户更新列,则 id 将保持不变,因此按 id 排序将不起作用。根据查询结果,在这种独特情况下,最后的结果始终是我想要的。我是 db 新手,如何更改代码以使用循环返回最后一个结果。只需返回 -1?
  • 这不是唯一的。 id 应该始终保持不变,这就是 ID 的含义,它就是标识对象的含义。如果您看到我的参考资料,您会发现如果没有指定排序,您就不能指望特定的排序。因此,如果您需要在该表中添加一个可以排序的 col。要么。也许您可以向 db 控制器添加一个方法,将其跳转到最后一个结果集并调用它而不是 while 循环。
  • "也许您可以向 db 控制器添加一个方法,将其跳转到最后一个结果集并调用它而不是 while 循环"我将使用它,谢谢
  • 或者如果它已经有类似getLast()而不是.nextRecord()的方法
  • 从我提供的代码中,我将在该方法的哪个位置添加 getLast()?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2020-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多