MySQL中的无限子类别排序

时间:2014-04-10 01:39:14

标签: mysql sql

给定this table

是否可以编写SQL来编写一个SELECT查询,这将导致这样的订单,同时也适用于表中的子类别数量?我可以编写查询来获取具有硬编码数量的预期子类别的正确顺序,但是当该数字未知时我遇到了困难。

Miscellaneous
Personal
    Bobby
    Jane
    Susie
    Tom
    Other
        Work Lunches

或者我是否需要调整架构?

1 个答案:

答案 0 :(得分:2)

最好的方法是通过“嵌套集”模型管理分层数据: http://en.wikipedia.org/wiki/Nested_set_model

它可能看起来很陌生,但是一旦你了解它就会很棒。 (是的,我正在使用它,并且效果很好)

当然,这意味着您必须稍微更改架构(包括左侧和右侧值),并且选择/插入/更新是不同的。但是你可以很容易地一次性选择或重新连接整个分支。