我需要对用户树获得的每个级别的积分求和。等级 1 是用户低于用户 1 等级的用户积分的总和。 Level 2 是用户下面 2 个级别的用户的 Level 1 积分,以此类推……
该计算每月在非生产服务器上进行一次,无需担心性能。
SQL 会怎样做呢?
如果你感到困惑,别担心,我也是!
用户表:
ID ParentID Points
1 0 230
2 1 150
3 0 80
4 1 110
5 4 54
6 4 342
Tree:
0
|---\
1 3
| \
2 4---
\ \
5 6
输出应该是:
ID Points Level1 Level2
1 230 150+110 150+110+54+342
2 150
3 80
4 110 54+342
5 54
6 342
SQL Server 语法和函数最好...
最佳答案
如果您使用的是 Oracle DBMS,那将非常简单,因为 Oracle 支持使用 进行树查询。连接方式/开始于 句法。对于 SQL Server,我想你可能会发现 Common Table Expressions有用
关于sql - 如何使用SQL计算树中值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/91360/