mysql按持续时间和日期范围计算假期
我有一张桌子mysql按持续时间和日期范围计算假期,mysql,Mysql,我有一张桌子 Name duration date_leave_from date_leave_to John 1 2015-03-01 2015-03-02 Doe .5 2015-03-03 2015-03-04 Doe 1 2015-01-03 2015-01-03 Doe 1 2015-02-04 2015-02-06 我希望获
Name duration date_leave_from date_leave_to
John 1 2015-03-01 2015-03-02
Doe .5 2015-03-03 2015-03-04
Doe 1 2015-01-03 2015-01-03
Doe 1 2015-02-04 2015-02-06
我希望获得以下格式的数据(基于日期离开和日期离开的计算):
Name || Jan || Feb || March || April
John || 1 || 0 || 2 || 0
Doe || 0 || 3 || 1 || 0
查询是:正在运行的。。但不是根据叶子的数量来计算的
SELECT requester,
SUM(CASE WHEN MONTH(`date_leave_from`) = '1' THEN duration else 0 END) AS Jan,
SUM(CASE WHEN MONTH(`date_leave_from`) = '2' THEN duration else 0 END) AS Feb,
SUM(CASE WHEN MONTH(`date_leave_from`) = '3' THEN duration else 0 END) AS March,
SUM(CASE WHEN MONTH(`date_leave_from`) = '4' THEN duration else 0 END) AS April,
SUM(CASE WHEN MONTH(`date_leave_from`) = '5' THEN duration else 0 END) AS May,
SUM(CASE WHEN MONTH(`date_leave_from`) = '6' THEN duration else 0 END) AS Jun,
SUM(CASE WHEN MONTH(`date_leave_from`) = '7' THEN duration else 0 END) AS Jul,
SUM(CASE WHEN MONTH(`date_leave_from`) = '8' THEN duration else 0 END) AS Aug,
SUM(CASE WHEN MONTH(`date_leave_from`) = '9' THEN duration else 0 END) AS Sep,
SUM(CASE WHEN MONTH(`date_leave_from`) = '10' THEN duration else 0 END) AS Oct,
SUM(CASE WHEN MONTH(`date_leave_from`) = '11' THEN duration else 0 END) AS Nov,
SUM(CASE WHEN MONTH(`date_leave_from`) = '12' THEN duration else 0 END) AS December
FROM tbl_hr_leave_form
GROUP BY requester
因此,不考虑持续时间,而是考虑从和到之间的差异?例如,Doe应该看到3月份是1,而不是0.5?你又问了同样的问题。是的,持续时间将乘以日期差