Используйте MySQL для выбора следующей одной записи после соответствующего значения

Как я могу выбрать все строки рядом со строкой, соответствующей условию?

Это структура таблицы с 10 строками, но число строк увеличивается в будущем.

  • Где я могу настроить поведение текста по умолчанию в Windows?
  • Как выбрать текст гиперссылки в Google Chrome?
  • Как выбрать прямоугольный диапазон в VIM?
  • Выбор целого столбца, кроме первых X (заголовочных) ячеек в Excel
  • PuTTY как выбрать текст и скопировать текст с помощью клавиатуры ТОЛЬКО
  • Windows для быстрого удаления текста?
  • Структура таблицы Обычный текст:

    ID Date N1 1 DateTime 9 2 DateTime 2 3 DateTime 5 4 DateTime 9 5 DateTime 3 6 DateTime 6 7 DateTime 7 8 DateTime 9 9 DateTime 3 10 DateTime 9 

    Примечание. Строка «DateTime» является просто символической, это будет любое время DateTime.

    Я пытаюсь узнать первое число N1 после числа: 9

    Я пробовал несколько способов, но результат не в том, что мне нужно.

    Ожидаемый результат:

     ID Date N1 2 DateTime 2 5 DateTime 3 9 DateTime 3 

  • Как хранить данные mysql в OS X в зашифрованном состоянии?
  • Запуск MySQL из командной строки без потери подсказки
  • Utf8 hebrew на консоли mysql на debian (через шпатлёвку на окнах)
  • Как запустить сервер MySQL в Windows?
  • Тихая установка MySQL неверна для исполнения
  • Выбор целого столбца, кроме первых X (заголовочных) ячеек в Excel
  • 2 Solutions collect form web for “Используйте MySQL для выбора следующей одной записи после соответствующего значения”

    Вы можете использовать таблицу Temp для хранения Id записей, где N1 равно 9 . Затем вы выбираете все записи из таблицы Times где Id – это значения, которые находятся в таблице temp, плюс одна, которая является самой следующей записью из столбца Id самой следующей записью после значения N1 9 .

    SQL-запрос

     DROP TABLE IF EXISTS t1; CREATE TEMPORARY TABLE t1 (SELECT id FROM numbers WHERE N1 = 9); Select * FROM t1; SELECT * FROM numbers WHERE id IN (Select id+1 FROM t1); 

    Или

     SELECT * FROM numbers WHERE id IN (SELECT ID+1 FROM numbers WHERE N1 = 9) 

    подтверждение

    Выберите * из Times

    Введите описание изображения здесь

    С приведенным выше запросом

    Введите описание изображения здесь


    Дополнительные ресурсы

    • Временная таблица
    • Создать таблицу
    • Падение таблицы

    Лучшая версия ответа Moderator Impersonator :

     SELECT * FROM numbers WHERE id IN (SELECT ID+1 FROM numbers WHERE N1 = 9) 
    Давайте будем гением компьютера.