「已注销」 2022-02-17 16:04 采纳率: 100%
浏览 39
已结题

mysql 树状图数据递归。升级版问题

img


mysql 树状图数据递归。升级版问题
可以的话直接上SQL噢,我知道可以用代码逻辑解决

  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-02-17 17:30
    关注
    --测试数据
    create table test_20220217 
    (id int,name VARCHAR(2),p_id int,money int);
    insert into test_20220217 values(1,'A',-1,10);
    insert into test_20220217 values(2,'B',1,15);
    insert into test_20220217 values(3,'C',1,12);
    insert into test_20220217 values(4,'D',2,11);
    insert into test_20220217 values(5,'E',2,13);
    insert into test_20220217 values(6,'F',3,14);
    insert into test_20220217 values(7,'G',4,20);
    insert into test_20220217 values(8,'H',4,31);
    insert into test_20220217 values(9,'I',5,55);
    
    --查询
    WITH RECURSIVE  cte as (select t.*,1 lvl,cast(null as  int) third_node from test_20220217 t where id=1
    union all 
    select t.*,lvl+1,case when lvl+1=3 then t.id when lvl+1>3 then cte.id end  from test_20220217 t,cte where cte.id=t.p_id
    )
    select third_node,sum(money) from cte where third_node is not null group by third_node
    

    查询效果

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月26日
  • 已采纳回答 2月18日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。