mysql数据库节点,mysql数据库获得树的节点

CREATE TABLE IF NOT EXISTS `Employee` (

`SSN` varchar(64) NOT NULL,

`Name` varchar(64) DEFAULT NULL,

`Designation` varchar(128) NOT NULL,

`MSSN` varchar(64) NOT NULL,

PRIMARY KEY (`SSN`),

CONSTRAINT `FK_Manager_Employee`

FOREIGN KEY (`MSSN`) REFERENCES Employee(SSN));

INSERT INTO Employee VALUES

("1", "A", "OWNER",  "1"),

("2", "B", "BOSS",   "1"), # Employees under OWNER

("3", "F", "BOSS",   "1"),

("4", "C", "BOSS",   "2"), # Employees under B ("5", "H", "BOSS",   "2"),

("6", "L", "WORKER", "2"),

("7", "I", "BOSS",   "2"),

# Remaining Leaf nodes

("8", "K", "WORKER", "3"), # Employee under F

("9", "J", "WORKER", "7"), # Employee under I

("10","G", "WORKER", "5"), # Employee under H ("11","D", "WORKER", "4"), # Employee under C ("12","E", "WORKER", "4")

SELECT  SUPERVISOR.name AS SuperVisor,

GROUP_CONCAT(SUPERVISEE.name  ORDER BY SUPERVISEE.name ) AS SuperVisee,

COUNT(*)  FROM Employee AS SUPERVISOR

INNER JOIN Employee SUPERVISEE ON  SUPERVISOR.SSN = SUPERVISEE.MSSN

GROUP BY SuperVisor;

结果:

+------------+------------+----------+| SuperVisor | SuperVisee | COUNT(*) |+------------+------------+----------+

| A          | A,B,F      |        3 |

| B          | C,H,I,L    |        4 |

| C          | D,E        |        2 |

| F          | K          |        1 |

| H          | G          |        1 |

| I          | J          |        1 |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值