2011-01-21 4 views
10

나는 3 개의 열 (id, value 및 tstamp)이있는 mysql 데이터베이스에 테이블을 가지고 있습니다. 내 tstamp 열은 TIMESTAMP 형식으로되어 있습니다. 즉, 2011-01-21 08:32:22일별 MySQL PHP 그룹 및 매일 합계

내가 희망하는 것은 매일 PHP를 사용하여 총계를 표시하는 것입니다. 의사 코드에서 테이블을 쿼리하는 방법을 생각해 볼 수 없습니다 : * 테이블 그룹에서 select * (tstamp의 일부)를 선택하고 모든 값을 매일 값 열에서 함께 추가하십시오. "

이 작업을 수행 할 수 있습니까? ?

덕분에 많이

편집 : 나는 t에 액세스 할 방법

$sql = "select date(tstamp), sum(".$column.") from mash group by date(tstamp)"; 
      $result = mysql_query($sql); 
       while($row = mysql_fetch_array($result)){ 
         $strXML .= "<set name='".date("G:i:s", strtotime($row["date"])). "' value='".$row["sum"]."' color='AFD8F8' />"; 
       } 

:

내가 허용 대답의 코드와 콤보에서이 쿼리를이 그는 $ row의 값을 올바르게 배열합니까?

답변

19

당신은 MySQL은 당신에게 당신이 한 쿼리에서 사용할 수있는 찾고있는 값을 반환 할 경우

select date(tstamp), sum(value) 
    from your_table 
group by date(tstamp); 
+0

를 사용하는 방법에 대해 내가 $ 행을 생각을 [0] $ row [1]에 합계 된 값이 포함됩니다. –

+0

코드 샘플에 노출 될 때 배열 인덱스 대신 이름을 사용하려면 mysql_fetch_assoc (http://www.php.net/manual/en/function.mysql-fetch-assoc.php)을 살펴보십시오. 또한 print_r ($ 행)은 배열의 내용을 디버깅/검사하는 데 도움이됩니다. –

+0

물론 고마워요! – benhowdle89

1

방법 benhowdle89 @이

DATE_FORMAT(datestamp , '%Y') as year //for grouping over year 
DATE_FORMAT(datestamp , '%Y-%m') as month //for grouping over month 
DATE_FORMAT(datestamp , '%Y-%m-%d') as day //for grouping over day