我想查询一列是run_date的表。我想只检索run_date是run_date列中最新run_date的结果。是否可以像这样拥有动态查询。类似的东西:
Select * from Order where DateUpdated = Max(DateUpdated)
答案 0 :(得分:7)
这将使用最新的DateUpdated返回所有结果。
Select *
from Order
where DateUpdated = (SELECT Max(DateUpdated)
FROM Order )
答案 1 :(得分:2)
如果您需要最新的行:
select top 1 *
from Order
order by DateUpdated desc
如果您需要检索与最近日期对应的所有行,那么您可以使用CTE有效地执行此操作:
with cte
as
(
select *, rank() over(order by DateUpdated desc) RankNumber
from [Order]
)
select *
from cte
where RankNumber = 1
假设MS SQL 2005或更高版本。
如果您使用SQL 2000,那么使用zerkms就有答案。
答案 2 :(得分:0)
尝试此查询
Select * from Order where DateUpdated = (select Max(DateUpdated) from Order)