我有像这样的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查询
答案 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)
依旧......