SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.03.2013 14:36:37

nerik
Участник
Зарегистрирован: 18.03.2013
Сообщений: 1

Нестандартный вывод записей из таблицы

Доброго дня.
Заранее благодарен всем, кто сможет помочьsmile Уже 2 неделю бьюсь над задачей. Буду благодарен за любую мысльsmile
Есть таблица с записями вида

    day       id_work     count
20130326        1            2
20130327        1            4
20130328        1            2
20130329        1            0
20130330        1            2
20130331        1            3
20130401        1            2
20130402        1            2
20130403        1            1

таких записей очень много. Примерная задача: надо найти варианты 4-дневных диапазонов, в которых count выше 0, т.е. нужен запрос, который вывел бы из данных данной таблицы такое:

   day1            day2         id_work
20130330     20130402          1
20130331     20130403          1

А при 3-дневном диапазоне такие варианты:

   day1            day2         id_work
20130326     20130328          1
20130330     20130401          1
20130331     20130402          1
20130401     20130403          1

Принцип работы запроса. Скажем нужны 3-дневные диапазоны.

Берет первую запись 20130326, смотрит - count больше 0, это 1 день диапазона. Далее берет следующую запись 20130327, смотрит - count больше 0. Это 2 день диапазона. Далее берет следующую запись 20130328, смотрит - count больше 0. Это 3 день диапазона. 3 дня есть, то выводим

20130326 20130327 1

Далее уже начинаем с записи 20130327. Берет первую запись 20130327, смотрит - count больше 0, это 1 день диапазона. Далее берет следующую запись 20130328, смотрит - count больше 0. Это 2 день диапазона. Далее берет следующую запись 20130329, смотрит - ага, count равен 0. Все это диапазон уже не нужно выводить.

Далее уже начинаем с записи 20130328. Берет первую запись 20130328, смотрит - count больше 0, это 1 день диапазона. Далее берет следующую запись 20130329, смотрит - ага, count равен 0. Это диапазон уже не нужно выводить.

И так далее. Тут без переменных и вложенных запросов никак. Уже весь мозг себе сломал)) Возможно ли организовать запрос, который бы сделал нужные выводы? Спасибо.

P.S. Прощу прощения, если неправильно выразил задачу, ещё не все возможности MySQL изучилsmile В голове все перемешалось. Заранее спасибо, всем кто даже прочтет.

Неактивен

 

#2 18.03.2013 15:59:39

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Нестандартный вывод записей из таблицы

Это делается с использованием переменных. На форуме где то был очень похожий пример. Сейчас никак не могу его найти.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson