首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL-SUM multiple COUNTs?

MySQL-SUM multiple COUNTs?
EN

Stack Overflow用户
提问于 2010-01-26 07:19:43
回答 1查看 823关注 0票数 1

我必须获取一些数据,如果可能的话,这些数据应该在一个查询中完成-如果到了紧要关头,我总是可以编写一些PHP逻辑在两个查询中完成,但我认为可以在一个查询中完成。我不知道怎么做到的!

这是我想要做的:

生成一个列表,其中显示按作者列出的帖子总数。因此,我必须从三个不同的表(reviewsID FROM reviews, featuresID FROM features & newsID FROM news)中COUNT三个不同的列,然后将它们SUM在一起以提供一个总数。必须使用WHERE userID = THE_ID对这些进行限制,才能拥有单个用户。

同时,我想要一个更简单的查询,它可以从数据库userRealName and userLevel中获取有关他/她的一些信息。

代码语言:javascript
复制
SELECT userRealName, userLevel FROM user WHERE (userLevel = 'a' OR userLevel = 'e' OR userLevel ='r')

最终的表格应该如下所示:

代码语言:javascript
复制
*userRealName*userLevel*articles*
|------------|---------|--------|
|The user    |e        |87      |
|Another user|r        |34      |

这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-01-26 07:37:33

如果没有MySQL在这里测试,这真的很难做到,但我认为这样的东西会起作用:

代码语言:javascript
复制
SELECT u.userRealName, u.userLevel, COUNT(t.articleID)
FROM user u,
(
    SELECT userID, reviewsID articleID FROM reviews
    UNION ALL
    SELECT userID, featuresID articleID FROM features
    UNION ALL
    SELECT userID, newsID articleID FROM news
) t
WHERE u.userID = t.userID
   AND (u.userLevel = 'a' OR u.userLevel = 'e' OR u.userLevel ='r')
GROUP BY u.userRealName, u.userLevel
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2136448

复制
相关文章

相似问题

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