gpt4 book ai didi

mysql - 如何让sql更高效。只需要计数

转载 作者:行者123 更新时间:2023-11-29 04:56:02 24 4
gpt4 key购买 nike

我需要找到用户数量:

  1. 拥有一个或多个粉丝
  2. 有两个粉丝
  3. 拥有三个粉丝

这是我开发的用于获取#1 答案的 sql

  SELECT users.id, count(fans.id)
FROM users
JOIN fans on users.id = fans.user_id
GROUP BY users.id
HAVING COUNT(fans.id) > 0

上面的查询有效,但我正在获取所有用户记录,然后计算数组的大小。当用户数量为数千时,它的性能很糟糕。如何重构查询以便我只能获取用户数?

我正在使用 mysql,但我可能需要另一个使用 postgresql 的项目。

最佳答案

子查询会很好。

Select 
Count(user.id)
from
Users
Where
(Select Count(fans.id) from Fans where user_id = users.id) > 0

关于mysql - 如何让sql更高效。只需要计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551602/

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