Ако трябва да получите последното, а след това последното предишното и така нататък, трябва да използвате функция за класиране:
SELECT *
FROM (
SELECT
Users.*,
CASE WHEN @lst=User THEN @row:[email protected]+1 ELSE @row:=0 END row,
@lst:=User
FROM
Users
WHERE
User IN ('ina','chris','john')
ORDER BY
User, Date_ins DESC
) s
WHERE
row=0
row=0 ще получи последната дата, row=1 предишната последна и така нататък...
Моля, вижте цигулка тук .