nit*_*igo 2 sql sql-server sql-server-2012
我有一个表,我们将其称为 TempAccount,其中有一列名为 AccountID。它包含 1、2、3...等数字。
我的要求是我应该从前 10 个 AccountID 中选择最大值。
我知道我可以通过创建一个临时表并在其中插入前 10 个值,然后从该表中选择最大值来做到这一点。但我希望是否有任何直接查询可以用来实现这一目标。
就像是MAX(SELECT TOP 10 AccountID FROM TempAccount)
我实现这一目标的最佳方法是什么?
注意:我使用的是 SQL Server 2012
可以使用CTE查询。例子:
WITH CTEQuery (AccountId) AS (
SELECT TOP 10 AccountId
FROM TempAccount
ORDER BY AccountId
)
SELECT MAX(AccountId)
FROM CTEQuery
Run Code Online (Sandbox Code Playgroud)