首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYsql查询故障排除

问MYsql查询故障排除
EN

Stack Overflow用户
提问于 2011-07-13 21:21:18
回答 5查看 58关注 0票数 0
代码语言:javascript
复制
SELECT contest.contest_id 
FROM db_user
LEFT JOIN participants ON participants.user_id = db_user.db_user
LEFT JOIN contest ON participants.contest_id = contest.contest_id
WHERE contest.user_id=$user
group by participants.contest_id,participants.user_id";

这将返回参加所有竞赛的所有用户,并且运行良好,但我需要找出它返回的行数。对于上面返回的5行,我希望结果为

代码语言:javascript
复制
Contest_Id       Number of users
1                       3
2                       4
EN

回答 5

Stack Overflow用户

发布于 2011-07-13 21:23:18

您需要将COUNT聚合函数与适当的HAVING子句一起使用。请参阅以下内容:HAVING Clause

票数 0
EN

Stack Overflow用户

发布于 2011-07-13 21:24:05

试试这个:

代码语言:javascript
复制
 select contest.contest_id ,Count(*) as 'No of Users'
    FROM db_user
    LEFT JOIN participants ON participants.user_id = db_user.db_user
    LEFT JOIN contest ON participants.contest_id = contest.contest_id
    WHERE contest.user_id=$user
    group by participants.contest_id;
票数 0
EN

Stack Overflow用户

发布于 2011-07-13 21:24:45

尝试:

代码语言:javascript
复制
    SELECT contest.contest_id, 
(select count(*) from db_user 
      inner JOIN participants ON participants.user_id = db_user.user_id and                   
      participants.contest_id = contest.contest_id)
    FROM contest
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6679586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档