2014-12-14 4 views
0

У меня есть номер телефона, который я хочу использовать, чтобы получить следующий идентификатор записи, используя метод limit value,1.Получение следующего идентификатора записи только с одним известным значением

Это мой SQL код

select id as next_id 
from transactions 
where tel = '44723954537' 
AND id = (select id from transactions where tel = '44723954537') 
LIMIT (select id from transactions where tel = '44723954537'),1 

Когда я запускаю код, я получаю эту ошибку

1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать вблизи «LIMIT (выберите идентификатор из сделок, тел =„44723954537“), 1) LIMIT 0, 30» в строке 1

Как мне написать свой лимит?

+0

Попробуйте просто LIMIT 1 в конце –

+0

Я ожидаю, что конечный оператор будет LIMIT 1200,1, например, который должен дать мне следующую запись. Я не могу отбросить последнюю часть идентификатора выборки. –

+0

Предложение 'LIMIT' не допускает выражения, они должны быть буквальными значениями. – Barmar

ответ

0
SELECT min(id) AS next_id 
FROM transactions 
WHERE id > (SELECT MAX(id) 
      FROM transactions 
      WHERE tel = '4472395437') 

Это будет следующая запись после последней записи с данным номером телефона.

Смежные вопросы