gpt4 book ai didi

Mysql从同一个表获取子结果

转载 作者:行者123 更新时间:2023-11-29 17:51:15 25 4
gpt4 key购买 nike

我在 MySQL 中有一个表,其中有一列 dataid。如果父项有一个 dataid abcd,那么所有子项的 dataid 都会为 abcd。xyz xyz abcd 用于表示这是 abcd 的子项。

目前我正在编写此查询。

SELECT comment.ID cid FROM comment {Condition} ORDER BY comment.commentDate DESC LIMIT 500

稍后,我通过运行 dataid(所有 id)中的查询来获取子级,以获取子级。

是否有其他方法可以在同一查询中执行此操作。 MySQL 支持 CTE,但我在服务器上使用 5.6。我如何在 5.6 MySQL 中做到这一点。

蒂姆指出我做的条件是错误的,所以我有另一个想法来解决这个问题。

同一个表也有parentid,这意味着我可以通过运行'whereparentid = 5'来获取所有子项

谢谢

最佳答案

以下查询将按父级排序,然后是所有子级:

SELECT ID, dataid
FROM comment
WHERE ...
ORDER BY
SUBSTRING_INDEX(dataid, '.', 1), -- sort by group, e.g. abcd
INSTR(dataid, '.'), -- parents before children
SUBSTRING_INDEX(dataid, '.', -1); -- sort the children

Demo

关于Mysql从同一个表获取子结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49313247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com