我查看了所有文档,但在将这个查询放在 Sequel 中时遇到了问题。
select a.*, IFNULL(b.cnt, 0) as cnt FROM a LEFT OUTER JOIN (select a_id, count(*) as cnt from b group by a_id) as b ON b.a_id = a.id ORDER BY cnt
将表 A 视为产品,表 B 是表明 A 已购买的记录。
到目前为止,我有:
A.left_outer_join(B.group_and_count(:a_id), a_id: :id).order(:count)
本质上,我只想对表 B 进行分组和计数,并将其与 A 连接,但由于 B 不一定有 A 的任何记录,并且我按 B 中的数字对其进行排序,因此我需要默认一个值。