2012-10-13 13 views
2

나는 봤지만 관련이없는 것을 찾지 못했습니다. 나는이 같은 MySQL의 테이블이 있습니다MySQL 쿼리 날짜 범위

 
+++++++++++++++++++++++++++++++ 
| roomID | date | price | 
+++++++++++++++++++++++++++++++ 
| 1  | 2012-10-10 | 10 | 
| 1  | 2012-10-11 | 10 | 
| 1  | 2012-10-12 | 10 | 
| 1  | 2012-10-13 | 12 | 
| 2  | 2012-10-10 | 15 | 
| 2  | 2012-10-11 | 15 | 
| 2  | 2012-10-12 | 15 | 
| 2  | 2012-10-13 | 16 | 
| 2  | 2012-10-14 | 16 | 
| 2  | 2012-10-15 | 16 | 
+++++++++++++++++++++++++++++++

나는 가격과 roomID에 따라 기간을 얻을 필요가 :

 
++++++++++++++++++++++++++++++++++++++++++++ 
| roomID | from | till | price | 
++++++++++++++++++++++++++++++++++++++++++++ 
| 1 | 2012-10-10 | 2012-10-12 | 10 | 
| 1 | 2012-10-13 | 2012-10-13 | 12 | 
| 2 | 2012-10-10 | 2012-10-12 | 15 | 
| 2 | 2012-10-13 | 2012-10-15 | 16 | 
++++++++++++++++++++++++++++++++++++++++++++

감사합니다!

답변

6
select roomid, 
     min(date) as from, 
     max(date) as till, 
     price 
from periods 
group by price 
order by price 
4

다음과 같은 쿼리를 사용하여 시도 할 수 있습니다 :

SELECT roomid, MIN(date) AS `from`, MAX(date) AS `till`, price 
FROM tableName 
GROUP BY price 
ORDER BY price 
+0

+1을 열/식 이름과 같은 키워드를 통해 역 따옴표를 (')를 사용합니다. –