如何将表格与自身连接?

时间:2018-09-30 06:23:38

标签: mysql sql database

我有这个菜单表,这个表包含菜单及其父菜单。

enter image description here

问题是我想让每个菜单有多少个孩子。像这样

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您只是对直接在主父菜单下有多少个子菜单感兴趣?

然后将parent_id = 0的用户加入子菜单,并在主菜单上进行分组。

例如:

SELECT MainMenu.menu_name AS Menu, COUNT(ChildMenu.menu_id) as Child
FROM YourMenuTable AS MainMenu
LEFT JOIN YourMenuTable AS ChildMenu ON ChildMenu.parent_id = MainMenu.menu_id
WHERE MainMenu.parent_id = 0
GROUP BY MainMenu.menu_id, MainMenu.menu_name
ORDER BY MainMenu.menu_name;

在Sql Fiddle here上进行测试