【发布时间】:2012-11-15 02:21:44
【问题描述】:
我正在尝试将以下 MySQL Query 等效为 XQuery
SELECT S.Classification, COUNT(S.Classification) AS "No. Students", AVG(S.GPA) AS "AVG
Class. GPA"
FROM Student S
GROUP BY S.Classification
ORDER BY S.Classification ASC;
这输出: http://i.stack.imgur.com/Iu0d4.png
我的数据库的样子:
CREATE TABLE 'Student' (
'StudentID' CHAR(9) NOT NULL,
'Classification' CHAR(10) NULL DEFAULT NULL,
'GPA` DOUBLE NULL DEFAULT NULL,
'MentorID' CHAR(9) NULL DEFAULT NULL,
'CreditHours' INT(11) NULL DEFAULT NULL,
PRIMARY KEY ('StudentID')
)
在 XML 中:
<Document>
<Table>
<StudentID>118784412</StudentID>
<Classification>Sophomore</Classification>
<GPA>3.19</GPA>
<MentorID>201586985</MentorID>
<CreditHours>39</CreditHours>
</Table>
</Document>
我不确定如何在 xquery 中使用 count() 和 avg()。 我从哪里开始?任何帮助表示赞赏,谢谢。
【问题讨论】:
-
您的 XQuery 处理器是什么? XQuery 1.0 中没有明确支持 Group by。它在 1.1 和 3.0 中,但目前支持这些规范的实现并不多。但是,有特定于实现的扩展和解决方法。如果可以使用,XSLT 2 也是 group by 的一个不错的选择。理想的解决方案将取决于这些变量。
-
XQuery 1.0。我知道我不能使用“分组依据”。
-
您使用的是什么 xQuery 处理器?解决方案的最佳分组将是特定于实现的。
标签: mysql xml xquery xquery-sql