我想要做类似以下的事情。获取有关GROUP BY列的列
SELECT aspnet_Users.UserName, aspnet_Membership.Email, count(*) as Activities
FROM aspnet_Users
INNER JOIN Activities ON aspnet_Users.UserId = Activities.ActUserID
INNER JOIN aspnet_Membership ON aspnet_Users.UserId = aspnet_Membership.UserId
WHERE Activities.ActDateTime >= GETDATE()
GROUP BY aspnet_Users.UserName
ORDER BY Activities DESC
但是这给了我一个错误。
列'aspnet_Membership.Email'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。
我理解错误一些。我试图选择不属于分组的一列。
然而,总是会有aspnet_Membership.Email和aspnet_Users.UserId之间一比一的关系。那么我将如何实现这一点?
电子邮件和UserId之间的关系有什么相关性?为什么你想选择电子邮件,但不想按它分组? –