2013-05-23 2 views
0

У меня есть таблицы SQL Как этотВыберите Spatial версию из дублированных строк 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 Query

+0

'name2 1' является последним версия, но не версия до последнего. –

+0

Mysql или ms sql? – Justin

+0

И какие СУБД вы используете, SQL-Server, Oracle, SQLite, Postgres? Их много, и ответ будет отличаться. –

ответ

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)

и так далее ...

Смежные вопросы