年齢層ごとにユーザー数を一覧表示しようとしています。
Range : #Users
10-14 : 16
15-21 : 120
22-29 : 312
30-40 : 12131
41-70 : 612
71-120 : 20
ハッシュの静的配列を作成することを考えていました。
AGE_RANGES = [
{label:"10 - 14", min:10, max:14},
{label:"15 - 21", min:15, max:21},
{label:"22 - 29", min:22, max:29},
{label:"30 - 40", min:30, max:40},
{label:"41 - 70", min:41, max:70},
{label:"71 - 120", min:71, max:120}
]
次に、それを検索フィルターとクエリに使用します。しかし、私はそれを最大限に活用する方法を考えることはできません。
私のモデルの私の方法は、年齢別にグループ化するだけです:
def self.group_by_ageRange(minAge, maxAge)
query = User.group("users.age")
.where("users.age BETWEEN minAge and maxAge ")
.select("users.age,
count(*) as number_of_users")
end
助言がありますか?