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

182
Vistas
¿Cómo puedo obtener el recuento de actividad de un usuario para hoy y este mes en una sola consulta SELECT?

En mi tabla tengo:

 Activity : Date --------------- doSomething1 : June 1, 2020 doSomething2 : June 14, 2020

Quiero poder hacer una consulta para poder obtener el siguiente resultado (suponiendo que hoy sea el 1 de junio de 2020):

 Today : ThisMonth 1 : 2

Miré group by pero no estaba seguro de cómo hacerlo sin mucho código adicional y creo que es muy probable que haya una solución mucho más simple que me falta. Algo que solo devolverá una sola fila con dos resultados. ¿Es posible? y si lo es, ¿cómo?

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

0

¿Es esto lo que quieres?

 select array_agg(activity) filter (where date = current_date) as today, array_agg(activity) filter (where date <> current_date) as rest_of_month from t where date_trunc('month', date) = current_date;

Esto usa matrices para que pueda manejar más de una actividad en cualquier categoría.

over 4 years ago · Santiago Trujillo Denunciar

0

puede escribir subconsultas para obtener datos en una sola fila,

 Select today , month from ( ( query to get today's count ) as today, ( query to get month's count ) as month ) t;

sí, puede agrupar por fechas para obtener el recuento de hoy y mes. Espero que esto te dé alguna percepción para continuar.

over 4 years ago · Santiago Trujillo Denunciar

0

Suponga que desea consultar en función de una fecha en particular:

 select count(case when d.date = :p_query_date then 0 end) day_count ,count(0) month_count from d -- your table name where d.date between date_trunc('month', :p_query_date) and date_trunc('month', :p_query_date + interval '1 month') - interval '1 day'

La consulta anterior asume que tiene un índice definido en la columna d.date. Si tiene un índice definido en date_trunc('mes', fecha), la condición de consulta se puede simplificar a:

date_trunc('mes', d.fecha) = date_trunc('mes', :p_query_date)

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