Ich versuche, die Zahl der Nutzer von Altersbereich zur Liste:Gruppe Benutzer nach Altersgruppe in rubin
Range : #Users
10-14 : 16
15-21 : 120
22-29 : 312
30-40 : 12131
41-70 : 612
71-120 : 20
Ich dachte an ein statisches Array von Hashes erstellen:
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}
]
und verwende es dann für meinen Suchfilter sowie für meine Suchanfrage. Aber ich kann mir keinen Weg vorstellen, die beste Leistung zu erzielen.
Meine Methode in meinem Modell nur Gruppen nach Alter:
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
Irgendwelche Vorschläge?
http://stackoverflow.com/questions/232387/in-sql-how-can-you-group-by-in-ranges – InternetSeriousBusiness