计算 Rails find 调用中的不同结果

发布于 2024-10-22 22:37:54 字数 106 浏览 3 评论 0原文

假设我有一个只有两个字段的模型:名称街道名称

我如何找出控制器方法中不同*街道名称*的数量?

Let's suppose I have a model with only two fields: name and street name.

How would I find out the number of different *street names* in a controller method?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

江湖正好 2024-10-29 22:37:54

这将返回不同 street_names 的总数

Model.group(:street_name).all.count

这将返回一个有序哈希,其中包含每条街道上的名称计数

Model.group(:street_name).count

This will return the total number of different street_names

Model.group(:street_name).all.count

This will return an ordered hash with a count of names on each street

Model.group(:street_name).count
半城柳色半声笛 2024-10-29 22:37:54

你为什么不做一个'count_by_sql',你会使用请求 select count(*) from (selectdistinct(street_name) from)

否则你可以在 ruby​​ 中做到这一点:<代码><模型名称>.all.group_by(&:street_name).size

why don't you do a 'count_by_sql' where you would use the request select count(*) from (select distinct(street_name) from <table_name>)

Otherwhise you can do it in ruby: <ModelName>.all.group_by(&:street_name).size

万劫不复 2024-10-29 22:37:54

试试这个!

Model.find(:all,:select => 'DISTINCT street_name').size

Try this !

Model.find(:all,:select => 'DISTINCT street_name').size
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文