如何以 rails 活动记录样式引用同一表



如何以 rails 活动记录样式编写此查询?

select distinct listmonth, 
        (select count(1) from listing where listmonth between dateadd(month, -3, l.listmonth) and dateadd(month, -1, l.listmonth)) as cnt
from listing l
group by listmonth
order by listmonth

这个可能被认为是你的AR风格。试一试。

sub_query = Listing
  .select('count(1)')
  .where('listmonth between dateadd(month, -3, l.listmonth) and dateadd(month, -1, l.listmonth)')
  .as('cnt')
Listmonth
  .select('distinct listmonth')
  .select(sub_query)
  .as('l')
  .group('listmonth')
  .order('listmonth')

最新更新