加入两个不同的数据库,事先在rails中进行过滤

时间:2017-05-30 19:13:49

标签: mysql ruby-on-rails

我有用户和会话表。用户可以有多个会话,或者没有会话(如果用户甚至没有打开会话一次),而每个会话必须有一个用户。

我尝试创建所有用户的输出及其在特定时间范围内的会话总数。 没有时间范围,它很容易(我想......):

User.left_outer_joins(:sessions).select('users.*, COUNT(sessions.id) AS sessions_count').group('users.id')

但请记住,我试图只计算特定时间范围内的会话,所以当我添加:

User.left_outer_joins(:sessions).where('sessions.created_at > 2017-04-30 00:00:00').select('users.*, COUNT(sessions.id) AS sessions_count').group('users.id')

我无法看到在给定时间范围内没有任何会话的所有用户。这是怎么回事?有没有办法让查询更有效率?

0 个答案:

没有答案