聚合函数中的SQL/HSQLDB查询和子查询

聚合函数中的SQL/HSQLDB查询和子查询,sql,hsqldb,Sql,Hsqldb,我的数据库看起来像这样(非常简单),称为“RideDate”: 自行车行驶里程 我希望实现的是一个查询,每个月是所有年份的总数(总和),所有年份的平均值(平均值),以及特定年份的总数 (其中年份(“日期”)=“2014”)。(由于电源波动,我面前没有确切的代码,将我推到iPad上(大风和潮湿/大雪)) 我的尝试是这样的: SElECT MONTH("BikeDate") AS "Month", SUM("Miles") AS "SMiles", AVG("AMiles") AS "Average

我的数据库看起来像这样(非常简单),称为“RideDate”: 自行车行驶里程 我希望实现的是一个查询,每个月是所有年份的总数(总和),所有年份的平均值(平均值),以及特定年份的总数 (其中年份(“日期”)=“2014”)。(由于电源波动,我面前没有确切的代码,将我推到iPad上(大风和潮湿/大雪))

我的尝试是这样的:

SElECT MONTH("BikeDate") AS "Month", SUM("Miles") AS "SMiles", AVG("AMiles") AS "Average",
(SELECT MONTH("BikeDate") SUM("Miles") WHERE YEAR("BikeDate") = '2014') AS "2014"
FROM "RideDate"
GROUP BY MONTH("BikeDate")
ORDER BY MONTH("BikeDate") ASC
结果应该是: (月)(所有年份的月和)(所有年份的月平均值)(2014年的月和)

最后一列将不按“按月分组”进行整理,而是给出全年的总和


如何将子查询写入所选年份主查询的迭代月份的总和?还有其他解决方法吗?

您可以使用
交叉连接来尝试

SELECT * FROM
(
(SELECT MONTH("BikeDate") AS "Month", SUM("Miles") AS "SMiles", AVG("AMiles") AS "Average",
FROM "RideDate"
GROUP BY MONTH("BikeDate"))a
CROSS JOIN 
(SELECT SUM("Miles") as "YearSum"
FROM "RideDate"
WHERE YEAR("BikeDate") = '2014')b
) results

运行所编写的查询时会出现哪种错误?