在下面的查询中,rails 计算有多少评论和评论发布,并以 DESC 顺序排列结果。
例如:
发表一:2 条评论 + 10 条评论 = 12(my_count)
出版物二:2 条评论 + 5 条评论 = 7(my_count)
如果上述查询可以按预期找到并呈现发布,但是如果:
发表三:0条评论 + 5 条评论 = 5(my_count)
在这种情况下,查询不会呈现出版物三,因为评论值为 0。即使一个或两个值为 0,我如何才能使其呈现?所以,基本上我想以 DESC 顺序呈现所有记录,无论值是否为 0。
谢谢指导!
@publication = Publication.joins(:reviews, :publication_comments)
.select('"publications".*, count(DISTINCT "reviews".id) + count(DISTINCT "publication_comments".id) as my_count')
.group('"publications".id')
.order("my_count DESC")