如何从sql server中的两行中选择整个最小数据记录

时间:2015-02-12 21:31:48

标签: sql-server

我在SQL Server 2012中有一个查询,它返回以下结果,

ID    IssueID    UpdateUserID
-----------------------------
205     105          25
208     105          28

我想从上面这个集合中选择最小id行,

ID    IssueID    UpdateUserID
-----------------------------
205     105          25   

我该怎么做?

2 个答案:

答案 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]