我想要计算每个特定用户id的总体验年和月。user_id在表中可以是多个,如下所示。在这里,user_id 14的总经验范围将是2010-01-03至2013年- 11 -30,预期结果将是3年11个月。我如何在php或mysql中做到这一点?
发布于 2016-05-11 04:03:33
评论与你的案例相关,但不完整。
如果exp_to
不可空:
select user_id, sum( datediff(exp_to, exp_from) +1 )
from experience
group by user_id;
备注:
+1
的总和,因为对于用户25,它将返回0,而我们可以恰当地认为用户工作了1天如果exp_to
是可空的(如果用户仍然在同一位置工作,这是有意义的):
select user_id, sum( datediff( ifnull(exp_to, now()), exp_from) +1 )
from experience
group by user_id;
https://stackoverflow.com/questions/37151815
复制相似问题