本文介绍了不能使用最小值、最大值等SQL Server 2012的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的查询:
select
FirstName, LastName, BirthDate,
GETDATE() AS [Today],
CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT) AS [Age]
FROM
Employees
WHERE CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT) >=55
ORDER BY LastName ASC
我想找到最大、最小和平均的年龄,我认为我可以做到这一点,但显然我做不到。如何才能做到这一点?
select
FirstName, LastName, BirthDate,
GETDATE() AS [Today],
CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT) AS [Age],
MIN (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT)
FROM
Employees
WHERE
CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT) >=55
ORDER BY
LastName ASC
错误:
推荐答案
这是我找到的解决方案。感谢大家的帮助!
SELECT
MAX (CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT)) AS [The Biggest Age]
, MIN (CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT)) AS [The Smallest Age]
, AVG (CAST (DATEDIFF (DD, BirthDate, GETDATE())/365.25 AS INT)) AS [The Average Age]
FROM
Employees
这篇关于不能使用最小值、最大值等SQL Server 2012的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!