你这个可以用数据库进行直接统计,不知道你用的是那种数据库,如果是Oracle 那就简单了 有直接的函数可以使用,如果是mysql或者其他的 你得用函数进行统计 这样简单点。
java的话 也有实现的方式 就是代码量比较多
是mysql 数据库,现在我需要查到最底层目录的数量是从另一张表中查询出来的,这样使用mysql的话是怎样实现的呢
@sceon: 你写函数直接查啊,完了直接java程序直接掉这个函数就行了
@流年煮雪: 已经查到了,就是需要再更新到一张表中,再进行向上累加
@sceon: 建议你写自上而下的查询,通用性比较好。实在不会写 就写java代码吧。
int code="1";//部门code 查询这个部门下有多少人
list<code> list = sql 查询
for (){// 循环他
int tempCode=;
在查list 判断他有没有子集
if(true){
zai循环
}
}
你把其中重复的代码直接提出去 一直复用调
直到没有子集部门 然后查这个最后一个部门的人数,最后吧这个人数累积
@sceon: 你现在已经知道了 每个部门的人数,这就简单了 ,不知道你有没有level 第几级这个字段 ,如果有,就先把最后一个级别的找,
level 有
最后一个级别的全查并根据父级code 进行group by 。这样不就查到了 这个父级部门有多少人么 sum()x下。
然后进行倒数第二级,直到父级code为空(或者你们定义的 -1 啊 什么的)
level 没有
那这个就麻烦了。需要对数据进行下处理。先得到level 然后在进行有level的操作。
@流年煮雪:
@sceon: 把你的两张表的数据 发送到bao1140913970@163.com
我给你看看
@sceon: 写好了 给你发过去
@流年煮雪: 发过去了