PostgreSQL está a punto de hacerme golpear animales pequeños. Estoy haciendo la siguiente instrucción SQL para MySQL para obtener una lista de ciudad/estado/países que son únicos.¿Cómo hago un DISTINCT y ORDER BY en PostgreSQL?
SELECT DISTINCT city
, state
, country
FROM events
WHERE (city > '')
AND (number_id = 123)
ORDER BY occured_at ASC
Pero hacer eso hace que PostgreSQL lanzar este error:
PGError: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Pero si añado occured_at a la SELECT, luego mata de volver a la lista única.
Los resultados usando MySQL y primera consulta:
BEDFORD PARK IL US
ADDISON IL US
HOUSTON TX US
resultados si añado occured_at a la SELECT:
BEDFORD PARK IL US 2009-11-02 19:10:00
BEDFORD PARK IL US 2009-11-02 21:40:00
ADDISON IL US 2009-11-02 22:37:00
ADDISON IL US 2009-11-03 00:22:00
ADDISON IL US 2009-11-03 01:35:00
HOUSTON TX US 2009-11-03 01:36:00
El primer conjunto de resultados es en última instancia lo que estoy tratando de conseguir con PostgreSQL .
Larry, ese segundo hizo el truco. Y perdón por el GRUPO POR en el título ... el cerebro es mucho por tratar de un centenar de cosas diferentes y por lo tanto mi mente estaba en otro lado. :) – Shpigford
Siempre es un placer poder ayudar a alguien. –