【发布时间】:2022-10-16 01:29:57
【问题描述】:
问题: 用于测试程序员的应用程序包含初始问题版本和更新的问题版本,由以下模式表示:
CREATE TABLE questions (
id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
childId INTEGER,
FOREIGN KEY (childId) REFERENCES questions (id)
);
INSERT INTO questions (id, name, childId)
VALUES
(3, 'SQL select v3', NULL),
(2, 'C# tuples', NULL),
(1, 'SQL select v2', 3),
(0, 'SQL select', 1);
最新的问题版本将 childId 设置为 NULL,其他问题版本将 childId 设置为下一个版本。每个问题版本只能是另一个问题版本的子版本。
完成 findLatestVersion 存储过程,使其返回最新的问题版本。
示例案例:
CALL findLatestVersion(0);
-- Expected output (in any order):
-- 3
我需要帮助来编写代码
【问题讨论】:
-
-- 示例:CALL findLatestVersion(0) -- 预期输出(以任何顺序): -- 3
-
代码从 cmets 转移到问题中。
标签: mysql recursion common-table-expression