我想要显示的查询按父,然后孩子排序的结果。 这里是我的代码由父母和孩子的Mysql秩序
SELECT * FROM
mst_category AS parent
LEFT JOIN mst_category AS child
ON child.category_parent = parent.category_id
GROUP BY parent.category_id
ORDER BY parent.category_group, COALESCE(parent.category_parent, parent.category_id), parent.category_parent != 0, child.category_id
查询结果:
正如你可以看到一些孩子不被父ID进行排序。我的问题是如何分类?
多少深层次你找去?使用parent.category_parent!= 0意味着只有一个,但是从数据中可以看出有多个。通常你会为此使用递归,但在MySQL中你可能正在寻找这样的东西。 https://stackoverflow.com/questions/18984074/mysql-tree-ordered-by-parent-and-child – Mic
@Mic但在我的表中,没有订单列,只有id和父母id .. –
嗯,什么是category_group?也就是说,所显示的数据分为三个层次,如果这是最低深度,那么这一点就没有意义了。从问题中不太清楚你究竟想要做什么,这就是为什么我问你需要多少关卡。 – Mic