Attendance.joins(:user).group(:email, :name).count
上面的查询给了我下面的结果。 “用户 1”有 2 次出席,“用户 2”有 6 次出席,另外我可以访问用户名和电子邮件。
{["email@example.com", "User 1"]=>2, ["email2@example.com", "User 2"]=>6]}
这很棒,但我真的很想也包含 User.id。我不能按 ID 分组,因为那样每条记录都是唯一的,而不是按电子邮件和姓名分组。以下是我想要的:
{[1, "email@example.com", "User 1"]=>2, [2, "email2@example.com", "User 2"]=>6]}
如有任何帮助,我们将不胜感激。
回答 Attendance.joins(:user).group(:email, :name, 'attendances.user_id').count
最佳答案
Attendance.joins(:user).group(:email, :name, 'attendances.user_id').count
关于sql - 事件记录查询。按多个表中的多列分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43507981/