【问题标题】:sql count(*) query on results of another query performing multiple resultssql count(*) 查询另一个执行多个结果的查询的结果
【发布时间】:2018-10-17 23:36:09
【问题描述】:

如何对执行多个结果的另一个查询的结果执行 sql count(*) 查询?

我有 3 张桌子:--

  1. user_subscribe 表,其中我有 'user_id' 和其他列。

  2. 我们有“user_id”和“country_id”列的用户表,其中 user_id 与 user_subscribe 表相关联,而 country_id 与“country”表相关联。

    1. 包含“country_id”列的国家/地区表。

我需要根据属于同一国家/地区的用户 (user_id) 获取 user_subscribe 的总数。 非常感谢您的帮助,因为我在过去 7 天里一直被困在这个问题上。

【问题讨论】:

  • **sql count() 查询另一个返回多个结果的查询的结果

标签: mysql sql hibernate join count


【解决方案1】:
SELECT COUNT(US.user_id) as country_user_subscribed
FROM user_subscribe as US
LEFT JOIN users as U ON user.id=US.user_id
LEFT JOIN countries as C on C.id=U.country_id
GROUP BY C.country_id

【讨论】:

    【解决方案2】:

    试试这个解决方案:

    SELECT C.CountryName,Count(u.UserId) AS UserCount FROM  User_Subscribe AS us 
    LEFT JOIN User AS u ON us.UserId = u.UserId
    LEFT JOIN Country AS c ON u.CountryId = c.CountryId
    WHERE c.CountryId = 3
    GROUP BY c.CountryName
    

    【讨论】:

    • 添加我正在更新查询的条件
    • 您好 Kavel 非常感谢您的回复,您的查询工作正常,没有任何问题。但是,问题仍然存在,因为我需要根据我已经拥有的 country_id 找到结果。例如,印度的 country_id = 3 所以我需要根据属于 country_id=3(印度)的 'user_id' 从 'user_subscribe' 表中找出总订阅者。
    • 请立即检查查询,如果有效,请接受并投票回答,这样也有助于其他人
    • 感谢 Kavel,它对我们来说非常完美,但是我并不认为按照我们的要求“分组依据”是必要的。无论如何都为你喝彩。 :)
    猜你喜欢
    • 2017-11-14
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-12
    • 2018-04-29
    • 2014-08-18
    • 1970-01-01
    • 2023-02-07
    相关资源
    最近更新 更多