estoy tratando de enumerar el número de usuarios por rango de edad:grupo de usuarios por rango de edad en el rubí
Range : #Users
10-14 : 16
15-21 : 120
22-29 : 312
30-40 : 12131
41-70 : 612
71-120 : 20
Estaba pensando en la creación de una matriz estática de hashes:
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}
]
y luego usarlo para mi filtro de búsqueda, así como para mi consulta. Pero, no puedo pensar en una manera de obtener el máximo rendimiento de ella.
Mi método en mi modelo únicos grupos por edad:
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
¿Alguna sugerencia?
http://stackoverflow.com/questions/232387/in-sql-how-can-you-group-by-in-ranges – InternetSeriousBusiness