gpt4 book ai didi

mysql - 需要帮助将两个功能性 mysql 查询合并为一个吗?

转载 作者:行者123 更新时间:2023-11-29 12:40:27 26 4
gpt4 key购买 nike

我有一个查询,它将返回与 Thomas 关联的所有人员及其 ID 的列表。

SELECT c.name,  c.ID
FROM namesandID s, associations o, namesandID c
WHERE s.name='Thomas' AND o.id = s.ID AND o.associateID = c.ID
GROUP BY c.ID;

然后我有一个查询,我可以手动输入 ID 号,它将返回正确的同事计数。

SELECT count(*) FROM (
SELECT associateID FROM associations WHERE id=18827 GROUP BY associateID
) AS t;

我的目标是进行一个查询,该查询将 Thomas 作为姓名并返回三列,其中包含他的关联人的 ID 号以及关联的人数。

另外,作为一些附加信息,这是一个非常大的数据库,约有 400 万行和 3 亿个关联,因此任何一个查询的速度提高都将受到极大欢迎。

最佳答案

未经测试,但以下内容应该有效:

select
c.name,
c.id,
assoc_count.cnt
from
namesandIds s
inner join
associations o on
o.id = s.ID
inner join
namesandId c on
c.ID = o.associateId
left outer join
(
select
id,
count(distinct associateId) as cnt
from
associations
group by
id
) assoc_count on
assoc_count.id = c.ID
where
s.name = 'Thomas'

关于mysql - 需要帮助将两个功能性 mysql 查询合并为一个吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26198467/

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