cbm*_*eks 2 t-sql sql-server sql-server-2008
我知道以前曾经问过这个问题,但我似乎无法找到合适的解决方案.
我有这些数据:
Label StartDate ActivityKey
------------------------------------------------------------------
LABELS 2009-02-12 23D645CA-7F05-47FF-9AC4-1414DCBF44DD
LABELS 2010-11-01 C266A254-2A3D-4A37-8281-AE9EA08ED086
MASTER BOXES 2009-02-12 81DBEA52-B7BC-4861-96B4-7A77A2D7F07B
MASTER BOXES 2010-11-01 9DAD9F77-46FD-4694-9168-E4E5FE306B7D
Run Code Online (Sandbox Code Playgroud)
我只想要最新的Label.这是期望的:
Label StartDate ActivityKey
------------------------------------------------------------------
LABELS 2010-11-01 C266A254-2A3D-4A37-8281-AE9EA08ED086
MASTER BOXES 2010-11-01 9DAD9F77-46FD-4694-9168-E4E5FE306B7D
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何提示
(顺便说一句,这是SQL Server 2008)
SELECT label, StartDate, ActivityKey
FROM (SELECT label, StartDate, ActivityKey,
ROW_NUMBER() OVER (PARTITION BY label ORDER BY StartDate DESC) AS RowNum
FROM YourTable
) t
WHERE t.RowNum = 1
Run Code Online (Sandbox Code Playgroud)
也可以使用CTE完成相同的查询:
WITH cteRowNum AS (
SELECT label, StartDate, ActivityKey,
ROW_NUMBER() OVER (PARTITION BY label ORDER BY StartDate DESC) AS RowNum
FROM YourTable
)
SELECT label, StartDate, ActivityKey
FROM cteRowNum
WHERE RowNum = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |