1
我需要在我的where子句中使用MAX函数,因为如果我不这样做,它会给我错误的数据。这里是我的代码:SQL MAX日期在哪里条款
(SELECT
Index,
Company,
FormType,
MAX(DocumentDate) AS DocumentDate
FROM dbo.FormInstance AS F
WHERE f.company = 1234
AND (
CAST(FLOOR(CAST([DocumentDate] AS FLOAT))AS DATETIME)
BETWEEN CAST(FLOOR(CAST(@StartDate AS FLOAT))AS DATETIME)
AND CAST(FLOOR(CAST(@EndDate AS FLOAT))AS DATETIME)
)
GROUP BY
Company,
Index,
FormType);
我该怎么做是说和MAX(DocumentDate)是BETWEEN @Start和@End吗?
感谢
我是否必须将DocumentDate放在我的select语句的某处?我收到这个错误。列'dbo.FormInstance.DocumentDate'在HAVING子句中无效,因为它不包含在聚合函数或GROUP BY子句中。 – user380432 2010-11-18 15:51:51
您是否意外地遗漏了MAX()部分? – 2010-11-18 15:53:11
没关系,我不好意思,我忘了MAX中有cluase谢谢! – user380432 2010-11-18 15:53:30