sql - 事件记录查询。按多个表中的多列分组

标签 sql ruby-on-rails postgresql activerecord

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/

相关文章:

基于 OR 子句的 SQL 计算列

sql - 在 SQL Server 上插入更新存储过程

sql - Bigquery SQL SELECT WHERE 字段包含其他表中的许多单词

ruby-on-rails - 我应该在我的 Gemfile 中指定确切的版本吗?

ruby-on-rails - 有没有办法在 CSS 中使用 Rails Active Storage 设置背景图像?

postgresql - 意外的 SQL 结果 : string vs. 直接 SQL

postgresql - Golang GORM 搜索条件

mysql - 购买了表 Y 中所有产品的表 X 中那些客户 ID 的列表?

sql - 将文件中的矩阵加载到 PostgreSQL 表中

ruby-on-rails - Globalize3 - 一个 View 中的两个翻译