Mysql 查询订单父/子层次结构

Mysql 查询订单父/子层次结构,mysql,Mysql,我现在有一张桌子: 我想不出一个查询会按照我需要的“name”列的顺序进行排序 我需要它像这样运行: 广告->工作和商业->搜索工作->要求工作->自由职业者->运输->汽车->卡车->水->空运->… 所以,基本上我需要像父母->所有孩子,下一个父母->所有孩子 有人能帮忙吗 编辑:表格创建脚本: CREATE TABLE categories ( id int(11) NOT NULL AUTO_INCREMENT, level int(11) NOT NULL DEFAULT

我现在有一张桌子:

我想不出一个查询会按照我需要的“name”列的顺序进行排序

我需要它像这样运行:
广告->工作和商业->搜索工作->要求工作->自由职业者->运输->汽车->卡车->水->空运->…

所以,基本上我需要像父母->所有孩子,下一个父母->所有孩子

有人能帮忙吗

编辑:表格创建脚本:

CREATE TABLE categories ( 
  id int(11) NOT NULL AUTO_INCREMENT, 
  level int(11) NOT NULL DEFAULT '1', 
  parent_category_id int(11) NOT NULL DEFAULT '1', 
  name varchar(255) DEFAULT NULL, 
  PRIMARY KEY (id), 
  KEY FK_categories_categories (parent_category_id)
 ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8

Edit2:php部分中的其他内容需要级别。在查询部分,它是不需要的

我尝试了您的示例数据,我认为这是可行的

SELECT distinct(ifnull(c1.name,c.name)) as name 
from categories c 
right JOIN categories c1 ON c.id=c1.parent_category_id 
order by c.parent_category_id;

你能做一下显示创建表tblname并将结果粘贴到图片上吗?创建表
类别
id
int(11)非空自动增量,
level
int(11)非空默认值'1',
父类id
int(11)非空默认值'1',
name
varchar(255)默认为空,主键(
id
),键(
FK\u categories\u categories
parent\u categories\u id
)引擎=InnoDB自动增量=11默认字符集=utf8@La7v1aN您可以(也应该)使用编辑功能,将新信息添加到问题中,而不是发布评论。我现在是为你做的。
level
column实际上并不需要,是吗