Если вы просто хотите выбрать имя из записей, где студент active
, запрос будет простым
SELECT id, firstname, lastname
FROM students
WHERE status = "active"
Я предполагаю, что вы подразумеваете под предыдущая строка строка, которую вы только что определили, была активной ученицей .Запрос проверит вашу таблицу на наличие активных студентов и извлечет их имена.Поскольку имена редко бывают уникальными, я включил столбец идентификаторов.Я также рекомендую установить в столбце состояния целое число 0 или 1.
Если вы действительно хотите выбрать предыдущую строку, вы можете использовать
SELECT sj.id, sj.firstname, sj.lastname
FROM students AS s
LEFT JOIN students AS sj ON (sj.id = s.id - 1)
WHERE s.status = "active"
Смысл в определении отношениястроки у вас есть и строки, которые вы хотите выбрать.В этом случае вы хотите выбрать строку, у которой ID на 1 меньше текущей строки.Поскольку это ограничение очень ограниченное, выбирать строки таким способом не очень хорошая идея.Возможно, вы захотите изменить свою базу данных.