품목 ID와 품목 가격이있는 테이블이 있습니다. 나는 오라클을 운영하고있다. 가장 높은 가격의 신분증을 갖고 싶습니다.가장 높은 가격의 품목 ID를 받으십시오.
이것은 MySQL에서는 작동하지만 오라클에서는 작동하지 않습니다 (왜!?!).
SELECT Main.itemid
FROM Main
HAVING MAX(Main.itemprice)
나는 이것을 다른 중첩 된 쿼리에서 사용하므로 HAVING
을 사용하여 작동하게해야합니다. 어떤 아이디어? 감사!
BTW,이 오류가 발생합니다 :
ORA-00920: invalid relational operator
을 (그리고 PostgreSQL을 9.1+)에 GROUP BY는 선택 사항이기 때문에, 및 GROUP BY가 아닌/집계 된 열 값은 임의적입니다 (좋지 않음). –
GROUP BY를 사용해 보았지만 기대 한 결과를 얻지 못했습니다. MySQL은 가장 높은 가격의 이드를 제공합니다. 하지만 Oracle에서 GROUP BY를 사용하면 각 개별 ID에 대해 가장 높은 가격을 제공하므로 1 또는 2 대신 많은 결과가 나타납니다. – jn1kk
@OMGPonies : 현재 PostgreSQL 9.1 설치가 준비 중입니다. 그러나 나는 위의 쿼리가 작동하지 않을 것이라고 확신합니다. HAVING 표현식은 boolean으로 평가되어야합니다. MAX (itemprice)와는 다릅니다. –