我有一个表,我们称之为TempAccount,其中一个名为AccountID的列。它包含来自1,2,3 ......等的数字。
我的要求是我应该从前10个AccountID中选择最大值。
我知道我可以通过创建临时表并在其中插入前10个值然后从该表中选择最大值来实现。但是我希望是否有任何直接查询可以用来实现这一点。
像MAX(SELECT TOP 10 AccountID FROM TempAccount)
我能做到这一点的最佳方式是什么?
注意:我使用的是SQL Server 2012
答案 0 :(得分:1)
在派生表中执行TOP 10
,然后对其结果使用MAX
。类似的东西:
select max(dt.col1)
from
(
select top 10 col1
from table
where ...
order by ...
) dt
答案 1 :(得分:1)
您可以使用CTE查询。例如:
HOUR