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을 함께 얻기 위해 노력하고있어입니다 .
래리, 그 두 번째 트릭 않았다. 그리고 제목의 GROUP BY에 대해 유감으로 생각합니다. 두뇌는 백 가지의 다른 것들을 시도하는 것이기 때문에 제 마음은 어딘가에있었습니다. :) – Shpigford
항상 누군가를 도울 수있는 즐거움. –