Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!