2014-11-24 2 views
0

기부 기록을 저장 한 MySQL 데이터베이스에 기부 테이블이 있습니다. 이제는 매월 내 웹 사이트에 기부 된 금액을 표시합니다. 이번 달에 기부 합계를 받아야합니다. 결제 기간은 나에게 매월 9 일에 롤오버 - 그래서 ...지난 달 특정 시간의 Unix 타임 스탬프를 얻는 방법

SELECT sum(amount) from donations where timestamp

timestamp 여기 페이팔 기증이 이루어질 때의 유닉스 타임 스탬프입니다.

매월 쿼리를 변경할 수 없습니다. 어떤 제안?

답변

1

from_unixtime()을 사용하여 유닉스 타임 스탬프를 날짜로 변환 할 수 있습니다. 그런 다음 9 일을 빼고 1 년/월 형식으로 변환하고 집계하여 매월 가치를 얻을 수 있습니다.

select date_format(date_sub(from_unixtime(timestamp), interval -9 day), '%Y-%m') as yyyymm, 
     sum(amount) 
from donations 
group by date_format(date_sub(from_unixtime(timestamp), interval -9 day), '%Y-%m') 
order by yyyymm; 
+0

환상적인! 나는 오늘 새로운 것을 배웠습니다. 도와 주셔서 감사 드리며 멋진 하루 보내십시오. ^^ –

+0

이것은 실제로 작동하지 않습니다. 잘못된 값을 반환합니다. :/ –

+0

@AustinBurk. . . (1) 잘못된 값을 어떻게 돌려 주는가? (2) 지난 달에 왜 그 일이 멈췄 을까요? 아마 당신이 대답을 받아 들일 때 작동했습니다. –

관련 문제