2012-02-27 5 views
1

사용자가 사이트에서 somit 할 때 db에 포인트를 추가합니다. 내가 원하는 것은 지난 7 일 동안 포인트를 얻고 합산하는 것입니다. 난 그냥 마이너스 칠일은 다음 사이의 값을 얻을 후, DB에 최신 날짜를 파악해야 할 것 같아요 PointsID, PointsUserID, PointsTotal, PointsDate특정 날짜 사이에 MySQL DB에서 데이터를 가져 오는 방법

: 내 DB에서

내가 가지고는 같은 저장 그들. 일단 값을 반환하면 합계가 필요하므로 하나의 숫자를 출력 할 수 있습니다.

감사합니다, Bonxy

+0

현재 날짜 또는 지난 7 일간의 지난 7 일 동안 포인트를 획득해야합니까? – JScoobyCed

+0

지금까지 가지고있는 것을 보여주십시오. –

+0

날짜 유형이 무엇입니까? 유닉스 시간이나 MySQL 날짜를 사용하고 있습니까? – tftd

답변

1
SELECT SUM(PointsTotal) FROM TableName WHERE PointsUserID = 'IdInQuestion' AND PointsDate >= Date_Sub(Now(), Interval 7 Day) 

같은 적절한 방향의 두 값 중 하나.

예를 들어 PointsDateFROM_UNIXTIME(PointsDate)으로 바꾸면 필드를 MySQL datetime 값으로 변환 할 수 있습니다. 다른 방법으로 이동하여 UNIX_TIMESTAMP()에 전체를 두어 DATE_SUB()의 결과를 변환 할 수도 있습니다. 둘 다 동일한 결과를 가져야합니다.

0

뭔가 당신이 유닉스 타임 스탬프 값으로 날짜 (일명 PHP의 날짜 값) 당신이를 변환 할 필요가 저장되는 이벤트에

Select * From MyTable Where MyDate Between Date_Sub(Now(), Interval 7 Day) and Now() 
관련 문제