首页 文章

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

提问于
浏览
0

我的数据库看起来像这样(非常简单)并被称为“RideDate”:BikeDate自行车里程我想要实现的是一个查询,每个月都是所有年份的总和(总和),所有年份的平均值(平均值),特定年份的总数(年份(“日期”)=“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

结果应该是:(月)(所有年份的月份总和)(所有年份的平均月份)('14的月份总和)

最后一列不会按“按月分组”进行整理,并给出全年的总和 .

如何编写子查询以在所选年份的主查询的迭代月份之间求和?还有另一种解决方法吗?

1 回答

  • 0

    你可以试试 CROSS JOIN

    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
    

相关问题