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_id
1 即是status
4. 请帮我解决这个问题。
由于 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(使用前将#替换为@)