I’m trying to select the data from the left of a row.
Lets assume this table:
create table user (
ID INT PRIMARY KEY AUTO_INCREMENT
);
The rows of this table look like that:
ID
1
3
4
7
8
15
18
19
What I want to do, is to select data from the row which has ID = 15, to the 4th row from left of it, which has ID 3, how can I do that, without using BETWEEN in query.
>Solution :
What I want to do, is to select data from the row which has ID = 15, to the 4th row from left of it
SELECT *
FROM tablename
WHERE id < 15
ORDER BY id DESC LIMIT 4
If you need the 4th row only then use above querry as subquery, and in outer query use backward sorting + LIMIT 1.
If MySQL version is 8+ then use ROW_NUMBER() in CTE.