我有一个当前定义为的视图CREATE VIEW
riders
AS选择ridelog
。uid
AS rid
,sum(ridelog
。distance
)AS distance
从ridelog
组中按ridelog
。uid
我想做的是添加第二个字段,显示距离y-t-d。即自本年1月1日起发生的乘车距离之和。
问题是,我不知道如何在mysql中说“当前年份”,或者是否可以创建一个视图,其中包含不同标准的总和。
这可能吗?
最佳答案
只要您的视图应始终包含当前年份的列,就可以做到这一点。
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
作为其参数的存储过程。关于sql - 需要帮助来创建包含两个不同总和的 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1032582/