DELETE:
, " " ID INT, MySQL , :
DELETE a FROM tbl a
JOIN (
SELECT a.id, b.id AS nextid
FROM (
SELECT a.id, a.text, @rn:=@rn+1 AS rownum
FROM tbl a
CROSS JOIN (SELECT @rn:=1) rn_init
ORDER BY a.id
) a
LEFT JOIN (
SELECT a.id, @rn2:=@rn2+1 AS rownum
FROM tbl a
CROSS JOIN (SELECT @rn2:=0) rn_init
ORDER BY a.id
) b ON a.rownum = b.rownum
WHERE a.text LIKE '%X%'
) b ON a.id IN (b.id, b.nextid)
, , LEFT JOIN , , 1. "" , DELETE:
SELECT a.id, a.text, b.id AS nextid, b.text AS nexttext
FROM (
SELECT a.id, a.text, @rn:=@rn+1 AS rownum
FROM tbl a
CROSS JOIN (SELECT @rn:=1) rn_init
ORDER BY a.id
) a
LEFT JOIN (
SELECT a.id, a.text, @rn2:=@rn2+1 AS rownum
FROM tbl a
CROSS JOIN (SELECT @rn2:=0) rn_init
ORDER BY a.id
) b ON a.rownum = b.rownum
WHERE a.text LIKE '%X%'
:
ID | TEXT | NEXTID | NEXTTEXT
2 | Contains %X% - Delete | 3 | This row should also be deleted
5 | Contains %X% - Delete | 6 | This row should also be deleted
257 | Contains %X% - Delete | 3434 | This row should also be deleted
4000 | Contains %X% - Delete | 4005 | Contains %X% - Delete
4005 | Contains %X% - Delete | 6000 | Contains %X% - Delete
6000 | Contains %X% - Delete | 6534 | This row should also be deleted
JOIN - DELETE, , , "" ID, NEXTID.