【发布时间】:2010-05-18 20:03:27
【问题描述】:
默认情况下,parent_id = 0。我想选择所有 parent_id = 0 的记录,只选择最后一个 parent_id > 0 的记录。
我试过了,但是没用:
SELECT * FROM `articles`
IF `parent_id` > 0 THEN
GROUP BY `parent_id`
HAVING COUNT(`parent_id`) >= 1
END;
ORDER BY `time` DESC
我的意思是,如果有几条 parent_id = 2 的记录,则应该只返回其中一条。此外,如果有许多 parent_id = 5 的记录,则只返回其中一个。也就是说,除了 parent_id = 0 的记录之外,每个 parent_id 的记录不应超过一条。
有什么解决办法?
【问题讨论】:
-
“最后一个”是什么意思?你是指最后几个进入数据库的吗?
-
当您说“只有 parent_id > 0 的最后一个”时,您必须定义“最后一个”。然后有人可以回答。
-
“最后一个”是什么意思?没有其他文章将其称为父级的文章?
-
我的意思是,如果有几条 parent_id = 2 的记录,则应该只返回其中一条。此外,如果有许多 parent_id = 5 的记录,则只返回其中一个。换句话说,除了 parent_id = 0 的记录之外,每个 parent_id 的记录不应超过一条。