轨数双项(rails count double entries)

2019-07-31 14:38发布

我有一个连接表:

<% @users.each do |user| %>
<li><%= user.user_id %><%= user.user.name %></li>

给我

  • 1弗雷德
  • 1弗雷德
  • 9查理

嗯..感谢这么远的答案。 我可以看到,我是不够准确的解释我需要什么。

<% @users.each do |user| %>
<li><%= user.user_id %><%= user.user.name %></li>

是一个查询结果。 因此,其结果可能是10个不同的用户或者一些可能是两倍或三倍。 我想,当他们出现multipe,以纪念他们。 我不想找出我的数据库的重复输入.....

所以,我必须要找出天气|用户| 是多发VAL具有相同user_id..to获得真/假希望这使得它更加清晰。 现在我没有中心思想如何archieve这一点。

Answer 1:

假设你有两个表usersdetails

从一个很小的我收到了你的问题,我想你想的所有用户谁拥有重复的细节

你的SQL应该像下面

double_details = SELECT u.* FROM users u LEFT JOIN details on d.user_id = u.id 
                            GROUP BY 'u.user_id' HAVING (COUNT(d.id))  > 1


Answer 2:

Model.group(:user_id).select("user_id, COUNT(*) as total").find_all{|i| i.total > 1}

与您的模型替换模型。



Answer 3:

如果用户表引用本身,事遂所愿user.users.count应该返回其他用户参考这个量。



文章来源: rails count double entries