我正在尝试使用 sum 和 count over partition 等分析函数从 oracle 表中生成 XML。使用以下查询:
SELECT XMLElement("DEPARTMENT",
XMLAttributes((sum(amount) OVER (PARTITION BY deptid)) AS dept_sum,
(count(*) OVER (PARTITION BY deptid)) AS dept_count),
XMLAgg(
XMLElement("EMPLOYEE",
XMLConcat(XMLElement("EMP_SALARY", a.emp_salary),
XMLElement("EMP_ADDRESS", a.emp_address))
)
)
)
AS "EMP_XML"
FROM EMPLOYEES
期待以下输出
EMP_XML
-------------------------------------------
<DEPARTMENT dept_sum=150, dept_count=2>
<EMPLOYEE>
<EMP_SALARY>100</EMP_SALARY>
<EMP_ADDRESS>Mumbai</EMP_ADDRESS>
</EMPLOYEE>
<EMPLOYEE>
<EMP_SALARY>50</EMP_SALARY>
<EMP_ADDRESS>Hyderabad</EMP_ADDRESS>
</EMPLOYEE>
</DEPARTMENT>
sum 和 count 函数出现以下错误:
ORA-00937: not a single-group group function
如何在 XMLElement 函数中使用解析函数?