我有这样的查询:
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
错误:
Msg 195, Level 15, State 10, Line 5
'MIN' is not a recognized built-in function name.
最佳答案
这是我找到的解决方案。感谢大家的帮助!
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 - 不能使用 MIN、MAX 等 SQL Server 2012,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32010763/