Rails GROUP BY,COUNT

时间:2013-11-27 07:52:12

标签: sql ruby-on-rails ruby count group-by

我有一个Tag表,看起来像这样:

NAME  | USER_ID |  OBJECT_ID 
---------------------------
"fun" | 1       | 1
"fun" | 2       | 1

Object是一个可标记的对象,仅此而已。现在,我遇到的问题是: 我想为对象显示非重复标签,但能够说明每个标签属于哪个用户。

所以,我已经为可标记对象声明了以下关联:

  

has_many:tags,:group => “name”,:order => “计数(tagsname)   DESC,tagsname ASC“

因此,它做了两件事:1)按标签名称分组 - >消除重复2)按记录数量对标签进行排序

但是,与此同时,我需要确定页面上的访问者(登录用户)是否留下了任何标签,这是不可能的,因为GROUP从列表中选择随机标签而只有一个用户可以确定。

您如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我不想再发布整个答案。但是,这个链接正是您正在寻找的内容。 http://www.justskins.com/forums/aggregate-functions-does-value-149176.html#post501498

逻辑是在同一个表上使用JOIN。