PostgreSQLは小さな動物にパンチしようとしています。私は、ユニークな都市/州/国のリストを取得するために、MySQL用に次のSQL文を実行しています。PostgreSQLでDISTINCTとORDER BYを行うにはどうしたらいいですか?
SELECT DISTINCT city
, state
, country
FROM events
WHERE (city > '')
AND (number_id = 123)
ORDER BY occured_at ASC
しかし、それはPostgreSQLがこのエラーをスローしますやって:
PGError: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list
しかし、私はSELECTにoccured_at追加した場合、それは独自のリストを取り戻すの殺します。 MySQLと最初のクエリを使用して
結果:
BEDFORD PARK IL US
ADDISON IL US
HOUSTON TX US
結果、私は、SELECTにoccured_at追加した場合:
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
結果の最初のセットは、私は最終的にはPostgreSQLで取得しようとしているものです。
ラリーは、その2番目のトリックをしました。そして、タイトルのGROUP BYについては申し訳ありません。脳は、100種類のものを試してみることが多いので、私の心はどこかにありました。 :) – Shpigford
いつでも誰かを助けることができて嬉しいです。 –