cuốn sách gpt4 ai đã làm

php - Tìm hàng không có con, nếu có con, con mới nhất

In lại Tác giả: Walker 123 更新时间:2023-11-28 23:16:07 31 4
mua khóa gpt4 Nike

我有这样的简单表格:

  • 编号
  • parent_id
  • 创建于

具有父/子关系...如果一行是子行,则它有一个 parent_id,否则它的 parent_id 为 0。

现在我想选择所有没有子项(因此本身)或有子项的行,因此通过 created_at 获取最新的子项(并且不将其自身包含在最终结果中)。

作为一个视觉示例,您可以看一下这张小图片:
../../../file/8294092118/qqq.jpg

我只想选择第 24 和 27 行:

24 因为它没有 child
不是 25 因为它有 child
27 因为它是 25 岁的最新 child
而不是 26,因为它的 child 也是 25,但不是最新的

câu trả lời hay nhất

  • sử dụngleft join 获取所有父子对。
  • 按 child 的 created_at 排序,按 parent_id 分组,将为每个 parent_id 生成最新的 child_id。
  • 当child_id不存在时,使用coalesce默认为parent_id:

查询:

select coalesce(child_id, parent_id)
from (
select a.id parent_id, b.id child_id, b.created_at
from mytable a
left join mytable b on a.id = b.parent_id
where a.parent_id = 0
order by b.created_at desc) a
group by parent_id

关于php - 找到没有 child 的行,如果有 child 最新的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43812984/

31 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress