SQL 语句查询你爸爸的爸爸是谁?

最近遇到一个问题,有一张表是这样的数据结构,存着你家家谱,所以是自关联的表。加入你要查询你爸爸的爸爸那条记录,改怎么查询? 或者需要看祖宗十八代如何展示?

递归是一个很好的解决方法。递归代码如下

WITH RECURSIVE 
qry AS (SELECT * FROM Family WHERE nickname ='You'  UNION ALL SELECT bb.* FROM Family bb INNER JOIN qry on bb.id == qry.parent)
SELECT * FROM qry LIMIT 3, 1;

其中offset 3 是要查询的代数 1 就是你父亲,2 就是你爷爷。。。。

输出:

id  nickname parent
0   YYDBB     0

发表评论

电子邮件地址不会被公开。 必填项已用*标注