PostgreSQL, küçük hayvanları yumruklamak üzeredir. Benzersiz bir şehir/eyalet/ülke listesi almak için MySQL için aşağıdaki SQL deyimini yapıyorum. PostgreSQL'de DISTINCT ve ORDER BY'yi nasıl yaparım?
SELECT DISTINCT city
, state
, country
FROM events
WHERE (city > '')
AND (number_id = 123)
ORDER BY occured_at ASC
Ama
o PostgreSQL bu hatayı atmak yapar yapıyor:PGError: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
Ama SELECT occured_at eklerseniz, o zaman benzersiz bir liste geri almanın öldürür. MySQL ve ilk sorguyu kullanarak
Sonuçlar:
BEDFORD PARK IL US
ADDISON IL US
HOUSTON TX US
Sonuçları Ben SELECT occured_at eklerseniz:
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
sonuçlarının ilk seti Ben sonuçta PostgreSQL ile almaya çalışıyorum budur .
Larry, ikincisi de hile yaptı. Başlıktaki GROUP BY hakkında üzgünüm ... beynim yüzlerce farklı şeyi denemekten çok fazla ve aklım başka bir yerdeydi. :) – Shpigford
Birilerine yardım edebilmek için her zaman bir zevk. –