2015-01-29 1 views
1

에서 실행 -PostgreSQL 문이 잘못되었습니다. PostgreSQL의에서 다음 쿼리를 실행하는 경우이 MySQL을

SELECT group_, 
     COUNT(*), 
     MIN(time) 
FROM TRIP 
WHERE time >= NOW() 
GROUP BY group_ 
ORDER BY time ASC 

나는 점점 오전 오류 : -

ERROR: column "trip.time" must appear in the GROUP BY clause or be used in an aggregate function 

내가 이해가 안 돼요. min 집계 함수가 아닙니까? 이 쿼리는 MySql에서 실행됩니다.

+3

문제는 time' 부분으로 '순서입니다. 아마도'order by min (time)'을 사용할 것입니다. –

답변

0

timegroup by 항목 또는 집계 용어가 아니므로 group by 절이있는 쿼리에는 사용할 수 없습니다.

SELECT group_, 
     COUNT(*), 
     MIN(time) 
FROM TRIP 
WHERE time >= NOW() 
GROUP BY group_ 
ORDER BY MIN(time) ASC 

아니면 위치 인덱스 : 아마도 당신은 명시 적으로 언급 할 수 min(time)에 의해 순서에 의미

SELECT group_, 
     COUNT(*), 
     MIN(time) 
FROM TRIP 
WHERE time >= NOW() 
GROUP BY group_ 
ORDER BY 3 ASC 
관련 문제