在 SQL 服务器中同时使用 Count 和 Max

Using Count and Max together in SQL Server

我有一个 table 这样的:

ID ReceptionDate ResultFixedDateTime FinalMeasurementEndDateTime
----------------------------------------------------------------
1  2014-01-01    2014-01-01 10:20:35 2014-01-01 09:20:35
2  2014-01-01    2014-01-01 10:30:35 2014-01-01 09:40:35
3  2014-01-01    2014-01-01 10:50:35 2014-01-01 09:45:35
4  2014-01-02    2014-01-02 10:50:35 2014-01-02 09:45:35
5  2014-01-02    2014-01-02 10:50:35 2014-01-02 09:45:35

我需要一个如下所示的结果,该结果按 ReceptionDate、具有相同 ReceptionDate 的记录总数和给定 ResultFixedDateTime - FinalMeasurementEndDateTime 的最大时间差分组=15=]

ReceptionDate Count      OperatingDiff
--------------------------------------
2014-01-01    3          65
2014-01-02    2          65

此查询返回的记录数多于预期:

SELECT  
    ET.ReceptionDate,
    COUNT(ET.ReceptionDate),
    MAX(DATEDIFF(MINUTE, ET.ResultFixedDateTime, ET.FinalMeasurementEndDateTime)) AS OverTimeDiff
FROM 
    ExaminationTimes ET
WHERE 
    ET.ReceptionDate BETWEEN @StartDate AND @EndDate        
GROUP BY 
    ET.ReceptionDate, ET.ResultFixedDateTime, ET.FinalMeasurementEndDateTime
ORDER BY 
    ET.ReceptionDate

当我取出时它返回正确数量的记录

MAX(DATEDIFF(MINUTE, ET.ResultFixedDateTime, ET.FinalMeasurementEndDateTime)) AS OverTimeDiff

这里有什么问题吗?

不要按 ResultFixedDateTime 和 Final MeasurementEndDateTime 分组

SELECT  ET.ReceptionDate, 
        COUNT(ET.ReceptionDate),
        MAX(DATEDIFF(MINUTE, ET.ResultFixedDateTime, ET.FinalMeasurementEndDateTime)) AS OverTimeDiff
        FROM ExaminationTimes ET
        WHERE ET.ReceptionDate BETWEEN @StartDate AND @EndDate      
        GROUP BY ET.ReceptionDate
        --,ET.ResultFixedDateTime
        --,ET.FinalMeasurementEndDateTime
        ORDER BY ET.ReceptionDate