2010-03-26 5 views
-1

나는 예를 들어, 주어진 날짜에서 지난 1 년 데이터를 원하는 :mysql을 사용하여 주어진 날짜로부터 작년의 매월 데이터를 찾으려면 쿼리 하시겠습니까?

내가 가진 날짜 2013-06-01 나는 세 개의 테이블에서 Group By 또는 뭔가 다른

Month | Amount | Total_Data 
June 2013  100  5 
May 2013  80  4 
     -  100  5 
     -  100  5 
July 2012  10  2 
을 사용하고 싶지도 데이터를 다음과 같이 내가 데이터를 원하는

나는 쿼리를 다음하지만 운동을하지 않았다 시도

SELECT DATE_FORMAT(rf.period, '%M %Y') as Month 
    , sum(p.amount * ((100-q.amount)/100)) as Amount 
    ,count(distinct q.label_id) as Total Data 
FROM table1 rf 
    , table2 p 
    , table3 q 
    ,table4 a 
where rf.period BETWEEN '2013-06-01' AND '2013-06-01' 
    and q.royalty_period BETWEEN '2013-06-01' AND '2013-06-01' 
    and a.id = q.album_id 
    and p.file_id = rf.id 
    and p.upc = a.upc 
    and p.local_revenue is not null 
GROUP BY Month 
+0

어떻게 운동하지 않았습니까? 당신의 결과는 무엇입니까? –

답변

0

당신은 당신의 절 BETWEEN에서 동일한 날짜가 '2013년 6월 1일'== '2013년 6월 1일'을그래서 1 일 기간 만

+0

이 구문은 BETWEEN 절에서 볼 수 있습니다. –

+0

네, 이건 내가 노력하고있어 단지 예제지만, 내가 원하는 실제 데이터가 위에서 언급 한대로 싶습니다. '2013-06-01'및 '2012-07-01'로 변경하면 12 개월 동안 데이터를 실제로 원하는대로 데이터가 제공되지 않습니다. – Salil

+0

@Salil 여기에 BETWEEN에 대한 최소 및 최대 매개 변수가 있습니다. http://dev.mysql.com/doc/refman/5.1/en/comparison-operators.html#operator_between –

관련 문제