在Oracle 8i中,我希望trntotamt
的单个值具有max(trndt)
trnmemenrolno
的分组。
我正在尝试使用以下sql查询,但它给出的错误 - ora 00979:不是按表达式分组
当我添加SELECT
语句中指定的所有列而不是使用单个trnmemenrolno
获取许多记录时。请建议做什么....
SELECT TRNMEMENROLNO, MAX(TRNDT),TRNTOTAMT
FROM TRNSAC1
WHERE TRNTYPE='R'
GROUP BY TRNMEMENROLNO
答案 0 :(得分:1)
SELECT TRNMEMENROLNO, TRNDT,TRNTOTAMT
FROM TRNSAC1
WHERE TRNTYPE='R'
AND (TRNMEMENROLNO, TRNDT) IN
( SELECT TRNMEMENROLNO, MAX(TRNDT)
FROM TRNSAC1
WHERE TRNTYPE='R'
GROUP BY TRNMEMENROLNO
)