续集:如何使用组和计数

Roo*_*oft 6 ruby group-by count sequel

简单地说,我如何使用Sequel进行此查询?

select a.id, count(t.id)
from albums a
right join tracks t on t.album_id = a.id
group by a.id
Run Code Online (Sandbox Code Playgroud)

Jer*_*ans 7

DB[:albums___a].
  right_join(:tracks___t, :album_id=>:id).
  select_group(:a__id).
  select_more{count(:t__id)}
Run Code Online (Sandbox Code Playgroud)


zeb*_*h49 0

您的问题是左连接找到每个专辑 ID 的曲目 ID。解决方案:

right join

总和的子查询,假设后续支持:left join (select album_id, count(album_id) as count from tracks group by album_id) t on

一个海峡from albums a, tracks t where t.album_id=a.id而不是连接。