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