PostgreSQL wkrótce sprawi, że uderzę małe zwierzęta. Robię następującą instrukcję SQL dla MySQL, aby uzyskać listę miast/stanów/krajów, które są unikatowe.Jak wykonać DISTINCT i ORDER BY w PostgreSQL?
SELECT DISTINCT city
, state
, country
FROM events
WHERE (city > '')
AND (number_id = 123)
ORDER BY occured_at ASC
Ale robi sprawia, że PostgreSQL rzucać ten błąd:
PGError: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Ale jeśli dodać occured_at do wyselekcjonować, a następnie zabija od wracając unikalną listę.
Wyniki MySQL i pierwsze zapytanie:
BEDFORD PARK IL US
ADDISON IL US
HOUSTON TX US
Wyniki jeśli dodam occured_at do Wybierz:
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
Pierwszy zestaw wyników jest to, co mam w końcu próbuje z PostgreSQL .
Larry, ten drugi załatwił sprawę. I przykro mi z powodu GROUP BY w tytule ... Mózg to dużo próba około stu różnych rzeczy, więc mój umysł był gdzie indziej. :) – Shpigford
Zawsze miło jest móc komuś pomóc. –