我有一个这样的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查询
发布于 2013-05-27 13:17:41
我到达查询以获得我需要的结果
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)
以此类推。
https://stackoverflow.com/questions/16711387
复制相似问题