我想过滤一个表,首先按日期范围,然后在该指定的时间段内选择最大值记录。下面的代码显示超出指定时间段的记录。在两个特定日期范围内过滤SQL表最大记录
所以在下面的例子中,我指定了1天,但它也显示2014-11-11的记录。
declare @BgnDate date = '2014-11-10'
declare @EndDate date ='2014-11-10'
SELECT EmployeeName, TargetTxDate, sum(ActualTarget) as Actual, sum(RequiredTarget) AS ReqTarget, sum(variance) AS Variance
FROM dbo.TargetsTx as TargetsTx
WHERE (Variance IN
(SELECT MAX (Variance) AS Expr1
FROM dbo.TargetsTx AS TargetsTx_1
WHERE (@BgnDate IS NULL OR TargetsTx_1.TargetTxDate >= @BgnDate) AND
(@EndDate IS NULL OR TargetsTx_1.TargetTxDate < DATEADD(d, 1, @EndDate))))
group by EmployeeName,TargetTxDate
你正在研究哪个dbms? MySQL的? MSSQL?甲骨文? ..... – Fred 2014-11-21 11:14:30