【发布时间】:2023-03-12 05:07:01
【问题描述】:
我在 MYSQL 表中有以下数据:活动
ID 是主列
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;
但我根本没有得到预期的结果。
【问题讨论】:
-
你用的是哪个版本的mysql?
-
@RadimBača:5.7.9