首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql从同一个表获取子结果

问Mysql从同一个表获取子结果
EN

Stack Overflow用户
提问于 2018-03-16 04:30:34
回答 1查看 31关注 0票数 0

我在MySQL中有一个表,它有一个列数据集。如果父母亲有一个dataid abcd,那么所有的子abcd.xyz都会有dataid,因为xyz被用来表示这是abcd的子级。

目前,我正在编写此查询。

从comment{ID}顺序中按注释选择comment .commentDate DESC限制500

稍后,我通过运行在(所有in )中获取数据以获取子程序的查询来获取子节点。

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

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

相同的表也有parentid,这意味着我可以通过运行'where parentid = 5‘来获得所有的子表。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 04:46:45

下面的查询将按父查询顺序,然后是所有子查询:

代码语言:javascript
复制
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

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49313247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档