独立列计算

时间:2018-11-26 01:15:10

标签: sql-server tsql where-clause

SQL Server(T-SQL)的新手,我无法通过在线搜索找到此问题的答案。

我正在尝试编写一个查询,该查询将在另一栏中为我提供一个最大日期和该日期以来的事件计数。到目前为止,我的查询是:

SELECT 
    [EmployeeKey], MAX([EvaluationDateTime]) AS [LastFailDate]      
FROM 
    [DataWarehouse].[quality].[FactEvaluation_Current]
WHERE 
    EvaluationScoreTotal < 80.00
GROUP BY 
    [EmployeeKey];

我现在需要添加一个附加列,该列将计算返回的日期为LastFailDate以来的所有事件,但是我不确定将其添加到此查询中的位置,以便不会受到WHERE子句?

我认为我需要

SELECT 
    COUNT[EvaluationDateTime]
FROM
    [DataWarehouse].[quality].[FactEvaluation_Current]
WHERE 
    [EvaluationDateTime] > [LastFailDate]

任何能帮助我找到答案的帮助或指导,将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

我认为下面的查询给出了您想要的东西。

 SELECT * FROM 
    (
    SELECT [EmployeeKey], MAX([EvaluationDateTime]) as [LastFailDate],COUNT[EvaluationDateTime] as  [Count_LastFailDate]
    FROM [DataWarehouse].[quality].[FactEvaluation_Current]
    WHERE EvaluationScoreTotal < 80.00  
    GROUP BY [EmployeeKey]
    )CNT
    WHERE [EvaluationDateTime] > [LastFailDate];

但是如果您想要更合适的答案。为DDL提供示例数据。