如何在递归情况下找到某列的MAX()?

时间:2013-06-21 01:05:47

标签: mysql sql

我有一个带有此表的MySQL 5.1 DB(释义)......

contracts
---------
id
parent_id
end_date

因此,合约可以通过parent_id建立父子关系,并且可以有多个级别的嵌套。

考虑到id的一些合同,假设 1 ,如何编写查询以查找其中的最后一个end_date及其后代?

(用id获得合同end_date也很棒。)

1 个答案:

答案 0 :(得分:1)

SQL中的递归可能难以实现 - 如果您也获得循环关系会发生什么?

我会考虑将关系分解为一个单独的表格,明确地列出它们。

例如

 contact_id     super_id     relationship
 1              10           Parent
 1              20           Grandparent
 10             20           Parent

等等。它有一些工作要让它们保持最新但值得付出努力。将合同加入其所有父母也是一件简单的事情