gpt4 book ai didi

php - 提取按管理员分组的组的成员和管理员的分数总和

转载 作者:行者123 更新时间:2023-11-29 23:47:51 26 4
gpt4 key购买 nike

我有 2 个表:分数和用户:

user:
--------------
id | name | parent
--------------
1 | jack |0
--------------
2 | John |1
--------------
3 | Jim |1
--------------
4 | Sara |0
--------------
5 | Ann |4
--------------
6 | Suzi |4



score:
------------------------
id | title_id | user_id | score
------------------------
1 | 2 |0 |5
------------------------
2 | 4 |1 |4
------------------------
3 | 5 |1 |4
------------------------

家长是一个小组的管理员,我想提取每个小组的分数总和。现在我有这个:

select sum(score) from score left join user on user.id=score.user_id where title_id=2 and parent!=0 group by parent_id

但这仅返回组成员的总和,而不是组的总和。还有更好的查询吗?

最佳答案

我认为以下查询可以满足您的要求。它使用 case 来区分组长和成员,因此所有成员(包括组长)都包括在内:

select (case when u.parent_id = 0 then u.id else u.parent_id end) as grp, sum(s.score)
from user u left join
score s
on u.id = s.user_id and s.title_id = 2
group by (case when u.parent_id = 0 then u.id else u.parent_id end);

关于php - 提取按管理员分组的组的成员和管理员的分数总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25824629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com