从重复行SQL中选择Spatial版本

时间:2013-05-23 10:21:54

标签: sql

我有像这样的SQL表

  Name         WID
----------  ----------
 name1         1
 name1         2
 name1         3
 name2         1
 name3         1
 name4         1
 name4         2

我如何才能获得最后一个版本之前的版本

  Name         WID
----------  ----------
 name1         2
 name2         1
 name3         1
 name4         1

使用SQL查询

1 个答案:

答案 0 :(得分:0)

我到达查询以获取我需要的结果

SELECT E.Name, E.WID 
FROM
(
    SELECT Name, MAX(WID) AS WID FROM MyTAble WHERE WID IN (2,1)
    GROUP BY Name
) AS ViewVersionIDs
INNER JOIN MyTable AS E ON ViewVersionIDs.Name = E.Name 
AND ViewVersionIDs.WID = E.WID
ORDER BY E.Name

如果我需要唯一的第二个版本,我会生成WID条件WID IN (2,1)
如果我需要唯一的第三个版本,我会生成WID条件WID IN (3,2,1)

依旧......