树状结构的阶层数的sql

前提有一张组织表.

CREATE TABLE organization_
(
  organizationid bigint NOT NULL,
  companyid bigint,
  parentorganizationid bigint,
  leftorganizationid bigint,
  rightorganizationid bigint,
  "name" character varying(100),
  type_ character varying(75),
  recursable boolean,
  regionid bigint,
  countryid bigint,
  statusid integer,
  comments text,
  CONSTRAINT organization__pkey PRIMARY KEY (organizationid)
)

 

树节点的阶层的sql如下:(阶层数从1开始)

SELECT Children.organizationid , COUNT(Parents.organizationid) AS level
  FROM organization_ Parents, organization_ Children
 WHERE Children.leftorganizationid BETWEEN Parents.leftorganizationid AND Parents.rightorganizationid
GROUP BY Children.organizationid;

 

结果例子:

13260,1
13290,1
10852,2
15300,3

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值