gpt4 book ai didi

MySQL——对多个 COUNT 求和?

转载 作者:行者123 更新时间:2023-11-29 01:02:28 26 4
gpt4 key购买 nike

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

这是我想做的:

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

同时,我想要一个更简单的查询,从数据库中获取关于他/她的一些信息——userRealName 和 userLevel

SELECT userRealName, userLevel FROM user WHERE (userLevel = 'a' OR userLevel = 'e' OR userLevel ='r')

决赛 table 应该是这样的:

*userRealName*userLevel*articles*
|------------|---------|--------|
|The user |e |87 |
|Another user|r |34 |

这可能吗?

最佳答案

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

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

关于MySQL——对多个 COUNT 求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136448/

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