如何在Rails中实现分组、计数、拥有和排序的复杂查询?

2026-04-10 07:120阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计231个文字,预计阅读时间需要1分钟。

如何在Rails中实现分组、计数、拥有和排序的复杂查询?

我有一张桌子,上面有一群不同年龄段的人。我该如何计算每个年龄段的人数,从最老到最年轻,按年龄过滤至最多2人?

在原始SQL中,可以这样编写:

sqlSELECT COUNT(*) AS people_count, ageFROM peopleGROUP BY age;

我有一张桌子,里面有一个年龄段的人.

我如何计算每个年龄段的人数,从最老到最年轻的人,按年龄过滤至少2人?

我将如何在原始SQL中编写它:

SELECT COUNT(1) AS people_count, age FROM people GROUP BY age HAVING people_count > 1 ORDER BY age DESC

在Rails中(我不知道该怎么做):

Person.group(:age).count将按年龄计算我的计数,但我无法弄清楚如何按年龄降序,或添加having子句.

如何在Rails中实现分组、计数、拥有和排序的复杂查询?

尝试类似的东西:

Person.select("id, age").group(:id, :age).having("count(id) > 1").order("age desc")

本文共计231个文字,预计阅读时间需要1分钟。

如何在Rails中实现分组、计数、拥有和排序的复杂查询?

我有一张桌子,上面有一群不同年龄段的人。我该如何计算每个年龄段的人数,从最老到最年轻,按年龄过滤至最多2人?

在原始SQL中,可以这样编写:

sqlSELECT COUNT(*) AS people_count, ageFROM peopleGROUP BY age;

我有一张桌子,里面有一个年龄段的人.

我如何计算每个年龄段的人数,从最老到最年轻的人,按年龄过滤至少2人?

我将如何在原始SQL中编写它:

SELECT COUNT(1) AS people_count, age FROM people GROUP BY age HAVING people_count > 1 ORDER BY age DESC

在Rails中(我不知道该怎么做):

Person.group(:age).count将按年龄计算我的计数,但我无法弄清楚如何按年龄降序,或添加having子句.

如何在Rails中实现分组、计数、拥有和排序的复杂查询?

尝试类似的东西:

Person.select("id, age").group(:id, :age).having("count(id) > 1").order("age desc")