如何以 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')