Свернуть строки SQL - PullRequest
       13

Свернуть строки SQL

2 голосов
/ 06 марта 2011

Скажем, у меня есть эта таблица:

id  |  name  
-------------
1   |  john  
2   |  steve
3   |  steve
4   |  john
5   |  steve

Я хочу только те строки, которые уникальны по сравнению с предыдущей строкой, эти:

id  |  name  
-------------
1   |  john  
2   |  steve
4   |  john
5   |  steve

Я могу частично достичь этого,этот запрос:

SELECT *, (
    SELECT `name` FROM demotable WHERE id=t.id-1
) AS prevName FROM demotable AS t GROUP BY prevName ORDER BY id ASC

Но когда я использую запрос с несколькими UNION и прочим, это усложняется.Есть ли простой способ сделать это (например, GROUP BY, но более конкретно)?

1 Ответ

2 голосов
/ 06 марта 2011

Это должно сработать, но я не знаю, проще ли это:

select demotable.*
from demotable
left join demotable as prev on prev.id = demotable.id - 1
where demotable.name != prev.name
...