根据列-sql server 2008选择顶行

时间:2016-03-22 06:38:44

标签: sql-server-2008

我们有以下数据,我想根据以下数据选择顶行。

原始数据:

enter image description here

我需要以下列方式获取数据,我需要每个projectID的第一行。

输出:

enter image description here

请让我知道如何编写查询来实现此数据。

1 个答案:

答案 0 :(得分:0)

试试这个:

;with cte_getlatest as(
select row_number over (partition by ProjectID) as ROWNUM,
ProjectID,
PhaseID,
WBSJobNum
FROM
[TableName]
)
SELECT * FROM cte_getlatest WHERE ROWNUM = 1;

请注意,表中行的物理顺序并不总是与没有任何指定ORDER BY列表的查询返回的顺序相同。这里有详细记录 - SQL Order By