0

我正在尝试计算 userid = 1 的消息数,然后计算所有其他 userid 的消息数并打印出消息数 = userid = 1 的消息数的人的姓名。

所以我需要做一个嵌套计数。我有 2 张桌子。消息和用户。

例如:

SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1

结果是2。那么我需要

SELECT COUNT(*)
FROM MESSAGES
WHERE COUNT(*) = 2

我如何为此进行嵌套计数,以便我可以执行类似的操作

SELECT USER.user_name
FROM MESSAGES INNER JOIN USER ON MESSAGES.user_id = USER.user_id
WHERE COUNT(*) = (    
SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1
)

上面的例子对我不起作用。我正在使用 MsAccess。任何帮助将不胜感激。谢谢你。

4

1 回答 1

0

尝试使用HAVING语法

SELECT USER.user_name
FROM MESSAGES INNER JOIN USER ON MESSAGES.user_id = USER.user_id
GROUP BY MESSAGES.user_id, USER.user_name
HAVING COUNT(*) = (    
SELECT COUNT(*)
FROM MESSAGES
WHERE user_id = 1
)
于 2012-05-08T08:09:49.370 回答