我在SQL Server 2012中有一个查询,它返回以下结果,
ID IssueID UpdateUserID
-----------------------------
205 105 25
208 105 28
我想从上面这个集合中选择最小id行,
ID IssueID UpdateUserID
-----------------------------
205 105 25
我该怎么做?
答案 0 :(得分:3)
在SQL Server中,您可以添加TOP关键字以添加到查询中。假设您的ID是唯一的:
select top 1 *
from MyTable
order by ID;
答案 1 :(得分:0)
通用表格表达式可以轻松实现。
WITH [MinRowIds] AS (
SELECT [IssueID], MIN([ID]) AS [minId]
FROM [Issues]
GROUP BY [IssueID]
)
SELECT [ID], [IssueID], [UpdateUserID]
FROM [Issues]
INNER JOIN [MinRowIds]
ON (
([MinRowIds].[IssueId] = [Issues].[IssueID])
AND ([MinRowIds].[minId] = [Issues].[ID])
)
ORDER BY [IssueID]