У меня есть следующие данные в таблице MYSQL: активность
Идентификатор - основной столбец
TID не является первичным
ID Name TID
11145 Reg 111
14008 Inn 111
20246 Opp 111 <>
20250 Godk 111 <--
111450 Reg 222
140080 Inn 222
202460 Opp 222 <>
202500 Godk 222 <--
Мне нужно извлечь только предыдущую строку в строку, где Name = "Godk". Вы можете видеть, что предыдущий столбец не всегда primaryID-1, но может быть primaryid-n
Желаемые результаты :
20246 Opp 111
202460 Opp 222
Я пытался использовать следующее, но в духе
SELECT x.* , MAX(y.ID) as prev,
FROM Activity x,
INNER JOIN Activity y
ON y.TID = x.TID
AND y.ID < x.ID
where y.Name like '%Godk%'
GROUP
BY x.TID
, x.ID;
Но я не получаю ожидаемых результатов вообще.