2011-01-21 16 views
10

私は、3つの列(id、value、およびtstamp)を持つmysqlデータベースにテーブルを持っています。私のtstamp列は、TIMESTAMPの形式、すなわち:2011-01-21 08:32:22日ごとのMySQL PHPグループと毎日の合計

私は達成するために望んでいるのは、毎日の合計のブレークダウンを表示することです。私は擬似コードでテーブルをクエリする方法を考えることはできません:毎日のテーブルグループからの選択*(tstampの一部)そして毎日の値カラムからすべての数値を一緒に追加してください "

これは可能でしょうか?

おかげでたくさん

編集:私はトンにアクセスするにはどうすればよい

$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があなたがあなたが使用することができONE QUERYで探している値戻したい場合:[0]

select date(tstamp), sum(value) 
    from your_table 
group by date(tstamp); 
+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 
関連する問題