2013-12-21 3 views
1

나는 그것이 * recogize하지 않습니다 말하는 오류가이hql에서 1 열의 모든 열 및 합 데이터를 얻는 방법?

Query query = session.createQuery("*, sum(quantity) FROM Inventory ORDER BY price ASC, > entry_time ASC");

킵을 위해 노력하고 있어요 ..이

ERROR: line 1:1: unexpected token: * line 1:1: unexpected token: *

그래서는 재고 ORDER에서 다른 방법으로 SELECT *, 합계 (수량)를 시도 가격 ASC, entry_time의 ASC에 의해

는 위와 같은 오류를 얻을 플러스 :

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: * near line 1, column 8 [SELECT *,SUM(quantity) FROM Inventory ORDER BY price ASC, entry_time ASC]

그래서 어떻게하면 모든 컬럼을 검색합니까?

이 사용중인 경우 불행하게도

SELECT *, sum(quantity) FROM (SELECT * FROM Inventory ORDER BY price ASC, entry_time ASC) AS r group by price

답변

1

(SQL 파를 사용하여 작동) 내가 실행하려고 쿼리가 (실제로는 명령이 ..하지만 자바 + 히브를 통해 작동하지 SQLWave에서 일) 집계 함수는 검색하고자하는 모든 열을 지정해야합니다. SELECT *, SUM(quantity)은 작동하지 않습니다. 하여 GROUP에있을 집계 필요가없는 SELECT 절에

모든 열

좋은 : 좋은 또한

SELECT col1, col2, col3, MAX(col4) 
... 
GROUP BY col1, col2, col3 

:

SELECT col1, col2, col3, MAX(col4) 
... 
GROUP BY col1, col2, col3, col5, col6 

없음 열 = 필요로하는 그룹 없음

SELECT MAX(col4) 
... 

이 작동하지 않습니다 :

SELECT col1, col2, col3, MAX(col4) 
... 
GROUP BY col1, col2 

무의미 : 집계를 갖는

SELECT col1, col2, col3, MAX(col4) 
... 
GROUP BY col1, col2, col3, MAX(col4) 

(MAX 등) 다른 열을 그룹에 의해없이 쿼리가 모호한되기 때문에 이해되지 않는다.

+0

시도합니다 ... – user2556304

+0

오류 : 줄 1 : 1 : 예기치 않은 토큰 : vendor_name 줄 1 : 1 : 예기치 않은 토큰 : vendor_name – user2556304

+0

쿼리가 무엇입니까? –