Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Group by & funciones de agregación

Estas en el tema de Group by & funciones de agregación en el foro de PostgreSQL en Foros del Web. Muy buena tarde a todos. Tengo una consulta sencilla en Postgres que me está tomando tiempo resolver: Si agrupo solo por id_actoperrad tengo que poner ...
  #1 (permalink)  
Antiguo 15/05/2020, 17:23
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Group by & funciones de agregación

Muy buena tarde a todos.

Tengo una consulta sencilla en Postgres que me está tomando tiempo resolver:
Si agrupo solo por id_actoperrad tengo que poner Min o Max en numfact pero no me sirve porque son varias facturas con numfat diferentes y me arrojaría la mayor o la menor y necesito ambas, por otro lado si agrupo por id_actoperrad y por numfact me duplica todo.
Aclaro que el id_actoperrad es unico y el numfact también, pero si agrupo solo por numfact me dejaría por fuera algunos id_actoperrad, entonces lo que hago es agrupar por id_actoperrad pero me pasa lo que puse al comienzo de este texto.

Digamos que tengo esta tabla sin agrupar nada:

numfact----------- id_actoperrad
55------------------------369
54------------------------367
54------------------------370
55------------------------371
54------------------------369
54------------------------371
55------------------------368
55------------------------367
54------------------------368
55------------------------370

y la necesito Así:

numfact--------------id_actoperrad
55--------------------------369
54--------------------------367
54-------------------------- 370
55-------------------------- 371
55-------------------------- 368

Lo que tengo actualmente agrupando por id_actoperrad es: Pero Necesito que me salgan las dos facturas como la tabla anterior

numfact--------------id_actoperrad
55--------------------------369
55--------------------------367
55-------------------------- 370
55-------------------------- 371
55-------------------------- 368






Alguna Sugerencia que no tenga que resolver por código sino solo con SQL?

Gracias por sus valiosas respuestas.


Código SQL:
Ver original
  1. SELECT MAX(numfact) AS numfact, MIN(fecha) AS fecha, MIN(id_radica) AS id_radica,
  2. MIN(num_esc) AS num_esc , MIN(nombre_acto) AS nombre_acto,
  3. MIN(abreviacion_acto) AS abreviacion_acto,
  4. MIN(id_actoperrad) AS id_actoperrad, MIN(derechos) AS derechos,
  5. MIN(estado) AS estado, MIN(id_ncf) AS id_ncf
  6. FROM public.caja_auxiliar_sin_agrupar_view
  7. WHERE fecha BETWEEN '2020-03-11' AND '2020-03-11'
  8. GROUP BY id_actoperrad
  9. ORDER BY num_esc
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:

Última edición por laureano59; 15/05/2020 a las 17:48 Razón: Aclarar pregunta

Etiquetas: funciones, group
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:42.