У меня есть таблица вроде этого:Использование графа и Макс вместе в SQL Server
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
) для данного ReceptionDate
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
Что здесь не так?
'MAX()' не повлияет на количество записей, возврата. – Squirrel