Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Uso de Joins, Uniq y Group_by_month(:created_at)

hola vuelvo a escribir la pregunta

así que tengo 3 modelos 'Usuario' 'Compañero' 'Tarea'

y

 User. has_many: companions, has_many: tasks Companion: belongs_to: user Task: belongs_to: user

y los datos que necesito son datos mensuales de Usuario, y Usuario que tiene Compañeros, y finalmente quién ha ordenado una Tarea

así que estaba tratando de usar estos códigos

 User.group_by_month(:created_at).count

Hasta aquí pude tener los datos de lo que estaba pensando.

 User.joins(:companions).uniq.group_by_month(:created_at).count

y yo el numero mensual contado de usuarios que tiene acompañantes pero no funciona en absoluto

entonces también necesito unirme a una 'Tarea' para averiguar qué usuario tiene un compañero y también ordenó una tarea

entonces el resultado que me gustaría ver es

Contar Usuario registrado mensualmente

 Aug, 2020 = > 300

Usuarios que tienen acompañante

 Aug, 2020 = > 150

Usuarios que tienen acompañante y ordenaron una tarea

 Aug, 2020 = > 75

Necesito números únicos Usuario que tiene Companion y Usuario que tiene Companion y también ordenó una tarea

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Uniq funciona en arreglos. Para una collection of records , puede usar distinct .

Verifique: https://apidock.com/rails/v5.2.3/ActiveRecord/QueryMethods/distinct

Eso significa que puedes usar:

 User.joins(:companions).distinct.group_by_month(:created_at).count
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda