我见过许多使用会计年度计算字段总和的示例,但我找不到一个适合我的需求。我正在尝试做的是使用SQL查询来获取字段的当前会计年度合计。我拥有的字段是userid、startdate、total_hours和missed_hours。以下是我到目前为止得到的查询:
SELECT
userid,
SUM(total_hours) - SUM(missed_hours) AS hours
FROM mytable
GROUP BY userid这很有效,但我所需要的是每个userid的当前会计年度的总小时数。我只需要当前的财政年度,我需要它在今年7月重新开始。
发布于 2012-03-14 23:03:26
假设这是SQLServer,请尝试:
SELECT userid, SUM(total_hours) - SUM(missed_hours) AS hours
FROM mytable
WHERE startdate >= cast( cast(year(dateadd(MM,-6,getdate())) as varchar(4)) +
'-07-01' as date ) and
startdate < cast( cast(year(dateadd(MM, 6,getdate())) as varchar(4)) +
'-07-01' as date )
GROUP BY userid发布于 2012-03-14 22:41:51
添加where子句:
FROM mytable
WHERE startdate >= '2011-07-01'
GROUP BY userid或随着年初的动态变化而变化:
where startdate >= dateadd(yy, datepart(yy, getdate())-2001, '2000-07-01')发布于 2012-03-14 22:47:16
可能是这样的:
SELECT
userid,
SUM(total_hours) - SUM(missed_hours) AS hours
FROM
mytable
WHERE
MONTH(startdate) BETWEEN 6 AND 7
AND YEAR(startdate) IN (2011,2012)
GROUP BY useridhttps://stackoverflow.com/questions/9704070
复制相似问题