Я хочу, чтобы запустить один SQL запрос на основе первого COUNT запросов SQL:Выполнить SQL заявление на основе подсчета SQL
SET @result = "SELECT count(*) FROM ip_addresses WHERE id > (SELECT id FROM ip_addresses WHERE in_use=1) ORDER BY id LIMIT 1"
CASE WHEN (@result > 0)
THEN SELECT * FROM ip_addresses WHERE id > (SELECT id FROM ip_addresses WHERE in_use=1) ORDER BY id LIMIT 1
ELSE SELECT * FROM ip_addresses WHERE in_use!=1 ORDER BY id LIMIT 1
END
В основном то, что я пытаюсь сделать это, я хочу, чтобы получить следующую запись in_use=0
из WHERE in_use=1
. И если запись in_use=1
является последней записью таблицы, она должна получить первую запись таблицы с in_use=0
. Больше объяснений: если ip_addresses
таблица имеют следующие данные
id| ip |in_use
1 | 192.168.1.5|1
2 | 89.58.1.2 |0
3 | 58.98.58.6 |0
Теперь он должен вернуть вторую запись.
И если ip_addresses
таблица имеют следующие данные
id| ip |in_use
1 | 192.168.1.5|0
2 | 89.58.1.2 |0
3 | 58.98.58.6 |1
Теперь он должен возвращать первую запись.
В английском, что вы после? IP самого низкого ID не используется? – xQbert
@xQbert проверить мои обновления в вопросе – hmd
в его текущем запросе, если средний ip используется, последний ip будет возвращен, а не первый. – Andreas