2011-01-21 2 views
10

У меня есть таблица в базе данных mysql с тремя столбцами: id, value и tstamp. Столбец tstamp находится в формате TIMESTAMP, то есть: 2011-01-21 08:32:22MySQL PHP по дню и всего за каждый день

Что я надеюсь достичь, это использование PHP для отображения разбивки итоговой суммы за каждый день. Я не могу придумать способ запроса таблицы в псевдокоде: выберите * из таблицы group by day (часть tstamp) и добавьте все числа вместе из столбца значений за каждый день »

Возможно ли это ?

Большое спасибо

EDIT:

у меня есть этот запрос в комбо с кодом принято отвечать в:

$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

@ benhowdle89 Я думаю, что $ строки [0] будет содержать дату, а $ row [1] будет содержать суммарное значение. –

+0

Посмотрите на mysql_fetch_assoc (http://www.php.net/manual/en/function.mysql-fetch-assoc.php), если вы хотите использовать имена вместо индексов массива, поскольку вы показываете в своем примере кода. Кроме того, print_r ($ row) поможет вам отладить/проверить, что находится внутри массива, который вы получаете. –

+0

Конечно, спасибо за это! – benhowdle89

1

Как об использовании этого

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 
Смежные вопросы