как получить строку при изменении данных столбца - PullRequest
0 голосов
/ 15 марта 2012

У меня есть следующая таблица

Id  | Status | date
-------------------
1   | Onsite |2007
2   | Onsite |2008
3   | Onsite |2009
4   | Abroad |2010
5   | Abroad |2011
6   | Onsite |2012
7   | Abroad |2013
8   | Abroad |2014
9   | Onsite |2015

Я хочу запрос в MySQL, который возвращает запись при изменении статуса с «За рубежом» на «На месте».В приведенном выше случае запрос вернет мне следующие строки:

6  | Onsite |2012
9  | Onsite |2015

1 Ответ

2 голосов
/ 15 марта 2012

Попробуйте следующий запрос, который работает, даже если идентификаторы не в последовательности:

SELECT * 
FROM 'table_name' t
WHERE t.status = 'Onsite' and 
       EXISTS(SELECT t1.id 
               FROM 'table_name' t1 
               WHERE t1.status = 'Abroad' and t1.id<t.id
               ORDER BY t1.id DESC 
               LIMIT 1,1);
...