需要帮助创建包含两个不同总和的视图

时间:2009-06-23 13:29:00

标签: sql mysql

我有一个目前定义为

的视图

CREATE VIEW riders AS select ridelog.uid AS rid,sum(ridelog.distance) AS distance from ridelog group by ridelog.uid

我想要做的是添加第二个显示距离y-t-d的字段。即自当年1月1日以来发生的游乐设施的距离总和。

问题是,我无法弄清楚如何在mysql中说出“当前年份”,或者我是否可以创建一个总结有不同条件的视图。

这可能吗?

1 个答案:

答案 0 :(得分:3)

这样做 - 只要您的视图应始终包含当前年份的列。

CREATE VIEW riders AS 
    SELECT 
        ridelog.uid AS rid,
        SUM(ridelog.distance) AS distance,
        SUM(IF(YEAR(ridelog.<<date_time_column>>) = YEAR(NOW()), ridelog.distance, 0) AS distanceThisYear 
    FROM ridelog 
    GROUP BY ridelog.uid

使用此方法,您无法指定计算距离的年份。另一种可能性是使用year作为参数的存储过程。

相关问题