gpt4 book ai didi

sql - 复杂的 Rails SQL 查询

转载 作者:数据小太阳 更新时间:2023-10-29 08:03:38 24 4
gpt4 key购买 nike

首先,一个用户有很多age_demographics。 AgeDemographic 对象如下所示:

#<AgeDemographic id: 4384, user_id: 799, range: "35 - 49", percentage: 3.2, created_at: "2015-05-22 04:17:10", updated_at: "2015-05-22 04:17:10">

我正在构建一个用户搜索工具,用户可以在其中选择他们想要定位的多个年龄段(“12 - 17”“18 - 24”例子)。我需要选择具有总百分比大于 50% 的年龄人口统计对象集合的用户。

这是我开始的:

 User.joins(:age_demographics).where("age_demographics.range IN (?)", ["12 - 17", "18 - 24", "25 - 34"])

但我不知道如何将这些 age_demographics 的百分比总和与 where 子句联系起来。

如果这完全没有意义,请告诉我。

最佳答案

您可以为此使用havinggroup 方法:

User.joins(:age_demographics)
.where("age_demographics.range IN (?)", ["12 - 17", "18 - 24", "25 - 34"])
.group("users.id")
.having("sum(percentage) >= 50")

关于sql - 复杂的 Rails SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30924005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com