【问题标题】:in a select query, getting the count of something from another table在选择查询中,从另一个表中获取某些东西的计数
【发布时间】:2014-06-30 12:43:51
【问题描述】:

table 'members' : id 用户名 和 表“帖子”:海报

我想要的是一个数组,包括 id、用户名和成员发布的帖子数。(对于每个成员)

我无法为此编写正确的查询。

【问题讨论】:

  • 请向我们展示数据结构或设置 SQL fiddle。 sqlfiddle.com

标签: mysql sql select join left-join


【解决方案1】:

试试这个:

SELECT m.id, m.username, COUNT(p.id)
FROM members m 
LEFT JOIN posts p ON m.id = p.memberid
GROUP BY m.id;

【讨论】:

    【解决方案2】:

    试试

    SELECT id, username, 
        (SELECT count(*) 
         FROM posts 
         WHERE poster = id) 
    as count FROM members
    

    【讨论】:

      【解决方案3】:

      试试这个查询:

      SELECT m.ID,m.username,count(p.numberOfPosts) as Counter FROM members m join posts p where m.ID=p.memberid Group by m.ID;
      

      【讨论】:

        猜你喜欢
        • 2017-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 1970-01-01
        • 1970-01-01
        • 2017-10-05
        • 1970-01-01
        相关资源
        最近更新 更多