如何在sql中使用select top选择max函数

时间:2015-05-29 07:41:41

标签: sql sql-server sql-server-2012

我有一个表,我们称之为TempAccount,其中一个名为AccountID的列。它包含来自1,2,3 ......等的数字。

我的要求是我应该从前10个AccountID中选择最大值。

我知道我可以通过创建临时表并在其中插入前10个值然后从该表中选择最大值来实现。但是我希望是否有任何直接查询可以用来实现这一点。

MAX(SELECT TOP 10 AccountID FROM TempAccount)

这样的东西

我能做到这一点的最佳方式是什么?

注意:我使用的是SQL Server 2012

2 个答案:

答案 0 :(得分:1)

在派生表中执行TOP 10,然后对其结果使用MAX。类似的东西:

select max(dt.col1)
from
(
  select top 10 col1
  from table 
  where ...
  order by ...
) dt

答案 1 :(得分:1)

您可以使用CTE查询。例如:

HOUR