当我运行以下SQL语句时:
SELECT *
FROM (SELECT ID_BARANG
ID_CUST,
MAX(JML) AS JML,
TGL_TRANSAKSI
FROM PEMBELIAN_DETIL_1301140002
NATURAL JOIN PEMBELIAN_1301140002
GROUP BY ID_TRANSAKSI
ORDER BY MAX(JML) DESC
)
WHERE ROWNUM = 1;
我收到以下错误:
第4行的错误:ORA-00935:组功能嵌套太深
任何人都可以帮助我吗? 谢谢
答案 0 :(得分:0)
问题在于MAX(JML) AS JML
和ORDER BY MAX(JML) DESC
ORDER BY子句中的JML不是原始列JML,而是MAX(JML)的别名。
因此,ORDER BY表达式实际上被解释为MAX(MAX(JML))
,它是嵌套组函数。
无论如何,这是一个糟糕的代码。
答案 1 :(得分:0)
试试这个:
SELECT *
FROM (SELECT id_barang,
id_cust,
Max(jml) AS JML,
tgl_transaksi
FROM pembelian_detil_1301140002
natural JOIN pembelian_1301140002
GROUP BY id_transaksi,
id_cust,
tgl_transaksi
ORDER BY jml DESC)
WHERE rownum = 1;