2012-04-27 2 views
0

У меня есть таблица с day_date и ценой отображается каждая запись, как показано ниже:Mysql запрос для установления даты групп на ежедневных записей

Day_date Price 
2012-05-20 500 
2012-05-21 500 
2012-05-22 500 
2012-05-23 600 
2012-05-24 600 
2012-05-25 500 
2012-05-26 500 
2012-05-27 700 
2012-05-28 700 

то, что я хочу сделать, это дисплей следующим образом:

season 2012-05-20 to 2012-05-22 price 500 
season 2012-05-23 to 2012-05-24 price 600 
season 2012-05-25 to 2012-05-26 price 500 
season 2012-05-27 to 2012-05-28 price 700 

Я пытаюсь сделать это с помощью следующего запроса ниже:

SELECT min(day_add) as start_date, max(day_add) as end_date, price 
FROM table GROUP BY price 

с помощью этого запроса я получаю следующий Рез ии:

2012-05-20 2012-05-26 500 
2012-05-23 2012-05-24 600 
2012-05-27 2012-05-28 700 

, как вы видите, сравнивал то, что я хочу сделать, это о том, что первая запись с price=500 должно быть от 20 до 22 мая 2012 года, а затем на 3-е место должны прийти 25 до 26 может Wich в price=500.

Поскольку я группирование по цене он режет сезон от 25 до 26 мая 2012 года

Можно ли сделать SELECT, чтобы получить результаты, как я хочу?

благодаря

ответ

1

Проблемы не с самим запросом, но с данными, так как нет никакого значения в группу. Все, что вам нужно сделать, это создать новое значение.

Вы можете сделать это следующим образом:

select min(day_date) minDate, max(day_date) maxDate, price from (
    select day_date, @row := @row + (@price != price) grp, @price := price price 
    from t, (select @row := 0, @price := '') init 
    order by day_date 
) final 
group by final.grp, price 

Здесь у вас есть fiddle играть.

+0

Привет, Мости, спасибо за ваш ответ. Я действительно старался и прекрасно работал. Я просто пытался понять, как работает синтаксис, и если у меня есть другой столбец с названием выделения, где все значения равны = 2, как бы я также сгруппировать его ? – user1361389

+0

@ пользователь1361389 Эй! Просто удалите внешний выбор и группу. Вы увидите трюк, который я там делаю. Если у вас уже есть какой-то столбец, у которого другое значение для каждой группы, вы можете сделать это. Если вы этого не сделаете, вам придется создать его таким образом. –

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