За последние 24 часа нас посетили 17968 программистов и 1719 роботов. Сейчас ищет 971 программист ...

Запрос к БД

Тема в разделе "MySQL", создана пользователем RinkRedmilt, 13 авг 2015.

  1. RinkRedmilt

    RinkRedmilt Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Мне нужно по порядку выводить из базы строки, где id%4=1 по определённому количеству.
    SELECT * FROM `foto` WHERE id %4 =1 LIMIT 13 , 3 по сути, должны выводиться строки 17, 21, 25 но выводит ноль строк. (В таблице есть все строки от 1 до 20). Даже при запросе: SELECT * FROM `foto` WHERE id %4 =1 LIMIT 5 , 1 выводит ноль строк. Объясните пожалуйста почему.
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    сначала будут выбраны все кортежи удовлетворяющие условию %4 = 1
    1-5-9-13-17-21-25-29-33-37-41-45-49-53-57-61-65-...............

    далее в результирующей таблице будет сделан отступ в 13 кортежей
    1-5-9-13-17-21-25-29-33-37-41-45-49-53-57-61-65-...............

    далее будут возвращены 3 кортежа
    1-5-9-13-17-21-25-29-33-37-41-45-49-53-57-61-65-...............

    при данной математике это номера 53-57-61. у вас в таблице только 20 строк следовательно возвращается ноль кортежей. максимально допустимый отступ при 20 строках - 2 - вернет 9-13-17. с 3 как ни сложно догадаться уже будет искаться 21 которого не существует.

    пожалуйста.
     
  3. RinkRedmilt

    RinkRedmilt Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Спасибо большое! Я разобрался.