За последние 24 часа нас посетили 16885 программистов и 1292 робота. Сейчас ищут 1470 программистов ...

хитрый запрос

Тема в разделе "MSSQL", создана пользователем crautcher, 8 ноя 2011.

  1. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    можно както сделать запрос , вот у меня есть данные в переменной - айдишник , мне надо вытащить из таблицы айдишников айдишник который на 5 позицый више стоит , я ток придумал вытаскивать в цикле 5 раз ...
     
  2. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    Думаю, ORDER BY и LIMIT 0, 1 поможет :)
     
  3. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    это чтоб вытащить либ следующий либ следующих 5 , а мне нада 1 через 5
     
  4. Mr. T

    Mr. T Активный пользователь

    С нами с:
    10 ноя 2010
    Сообщения:
    733
    Симпатии:
    0
    Адрес:
    Украина, г. Киев
    [sql]SELECT a.`id` FROM (SELECT `id` FROM `table` WEHERE `id` > $id LIMIT 0, 5) AS a ORDER BY a.`id` DESC LIMIT 0, 1;[/sql] Не тестировал, но так точно можно сделать, насколько рационально - не уверен :)
     
  5. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    WHERE id > $id ORDER BY id LIMIT 1, 5 - это и есть 1 через 5, не выдумывайте всякую хрень)
     
  6. crautcher

    crautcher Активный пользователь

    С нами с:
    21 май 2011
    Сообщения:
    156
    Симпатии:
    0
    точно , а я и незнал , вот только наоборот у вас выходит 5 через 1
     
  7. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    crautcher
    Да, я перепутал. Сначала OFFSET, потом ROWS