获取SQL中WHERE条件的最后一条记录

2024-03-23

i have loanTable包含两个字段loan_id and status

loan_id status
==============
1       0
2       9
1       6
5       3
4       5
1       4  <-- How do I select this??
4       6

在这种情况下我需要显示最后一个Status of loan_id1 即是status4. 请帮我解决这个问题。


由于 ID 1 的“最后”行既不是最小值也不是最大值,因此您生活在一种轻度混乱的状态中。表中的行没有顺序。因此,您应该提供另一列,可能是插入每行时的日期/时间,以提供数据的排序。另一个选项可以是一个单独的、自动递增的列,用于记录插入行的顺序。然后就可以编写查询了。

如果额外的列被调用status_id,那么你可以写:

SELECT L1.*
  FROM LoanTable AS L1
 WHERE L1.Status_ID = (SELECT MAX(Status_ID)
                         FROM LoanTable AS L2
                        WHERE L2.Loan_ID = 1);

(表别名 L1 和 L2 可以省略,而不会让 DBMS 或有经验的 SQL 程序员感到困惑。)

就目前情况而言,没有可靠的方法可以知道哪一行是最后一行,因此您的查询无法回答。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取SQL中WHERE条件的最后一条记录 的相关文章

随机推荐