2016-09-21 2 views
0

У меня есть столбец в таблице, который целые числа, но не в каких-либо общих приращений, как: 1, 20, 30, 33Найти следующий номер в SQL Column

Я думал, что это будет легко, но все, что я хочу, чтобы напишите запрос, который вернет следующий номер, например, если мой текущий номер равен 1, как мне вернуть 20?

+1

Это читает как вопрос о задании домашнего задания? что ты уже испробовал? – Igor

+0

Несколько опций используют аналитику и присваивают номер строки каждому упорядоченному значению, например 'row_number() over (order by col)', а затем выбирают номер строки 2. другой должен был бы «выбрать max (col) из таблицы, где col> currentNumber' или 'select top 1 из таблицы where col> currentNumber order by col' множество опций. – xQbert

ответ

1

Проще всего выбрать для первого значения Min, который больше, чем тот, у вас есть:

ВЫБРАТЬ TOP 1 MIN (столбец) из таблицы, где Col> currentNumber

Проблемы у вас есть то, что это не в любом хорошем контексте (например, что currentNumber? переменный? из другой таблицы?)

+0

Да, допустим, у меня есть [1] как переменная ... Я хотел бы вернуться [20], потому что это следующий шаг. Да, ваш запрос был именно тем, что мне нужно. Благодаря! – glnnbnz

0

Я думаю, что вы просто хотите, чтобы выбрать следующий самое высокое значение ... выберите column_name из таблицы, где column_name> current_value

+0

Чтобы быть в безопасности, вы можете отсортировать записи. –

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