MS ACCESS SQL:如何进行嵌套计数
我试图计算userid=1发送的消息数,然后计算所有其他userid的消息数,并打印出消息数=userid=1发送的消息数的人的姓名 所以我需要做一个嵌套计数。我有两张桌子。消息和用户 例如:MS ACCESS SQL:如何进行嵌套计数,sql,ms-access-2007,Sql,Ms Access 2007,我试图计算userid=1发送的消息数,然后计算所有其他userid的消息数,并打印出消息数=userid=1发送的消息数的人的姓名 所以我需要做一个嵌套计数。我有两张桌子。消息和用户 例如: SELECT COUNT(*) FROM MESSAGES WHERE user_id = 1 结果是2。 那我需要 SELECT COUNT(*) FROM MESSAGES WHERE COUNT(*) = 2 如何对此进行嵌套计数,以便执行以下操作 SELECT USER.user_name F
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。任何帮助都将不胜感激。谢谢。尝试使用
语法
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
)
它给了我一条错误消息,上面写着“您试图执行的查询没有将指定的表达式‘user\u name’作为聚合函数的一部分。”知道这是什么意思吗?@NuttyNur将user.user\u name
放在groupby
变成groupby MESSAGES.user\u id,user.user\u name