gpt4 book ai didi

php - mysql查询与2个表的一些计算

转载 作者:行者123 更新时间:2023-11-29 22:15:19 24 4
gpt4 key购买 nike

我有 2 张 table ,

**Member table**

mid | parentid | name
1 1 a
2 1 x
3 1 c
4 2 d
5 3 e
6 3 f
7 4 g

**contact table** 

cid | mid
1 1
2 1
3 3
4 2
5 3
6 4
7 4

我需要一个查询来显示成员列表,并根据 2 个表中父级人数最多的人数进行排序,因此答案为

id | name  |rank
1 a 5
3 c 4
4 d 3
2 b 2
5 f 0
6 g 0
7 h 0

最佳答案

我认为使用UNION ALLGROUP BY是解决这个问题的方法。这可能有效,但我还没有测试过。

SELECT
member.mid AS id,
member.name AS name,
COUNT(counter.x) AS rank
FROM
member,
(
SELECT parentid AS x FROM member
UNION ALL
SELECT mid AS x FROM contact
) AS counter
WHERE
member.mid = counter.x
GROUP BY counter.x
SORT BY counter.x DESC

关于php - mysql查询与2个表的一些计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31253554/

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