Buenas tardes, estoy dando mis primeros pasos en python. Logre conectarme con una base de datos postgresql, he hecho consultas basicas e insertado datos.
El problema que ahora tengo es con otra consulta. Quiero que la consulta me muestre un rango de fechas almacenadas en la base de datos. Hay fechas que se repiten, por ejemplo:
2014-09-08
2014-09-08
2014-09-09
2014-09-09
Necesito mostrar la fechas pero sin repetirlas asi:
2014-09-08
2014-09-09
Hice la siguiente consulta:
Código:
consulta1 = conn.cursor()
consulta1.execute("SELECT * FROM historial WHERE cedula=%(cedula)s AND fecha>=%(desde)s AND fecha<=%(hasta)s GROUP BY historial.fecha",{'cedula': cedula[0], 'desde': desde, 'hasta': hasta})
Pero aparece el siguiente mensaje de error:
Cita: psycopg2.ProgrammingError: la columna «historial.id» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación
LÍNEA 1: SELECT * FROM historial WHERE cedula='12837465' AND fecha>='...
^
El indicador del error se ubica en el asterisco (*) no al principio de la linea como aparece aqui en el post
ya he probado agregando el campo
id pero de esa manera hace la consulta trayendo las fechas pero tambien las repetidas o sea no las agrupa.
No se que estoy haciendo mal, o si no estoy usando bien la clausula GROUP BY
Si alguien me puede guiar hacia una solución se lo agradeceria.
Saludos.