mysql GROUP BY date()

时间:2015-08-08 19:59:55

标签: php mysql

我想要打印一些看起来像这样的东西:

日期 - kcal

2015/8/8 - 1700

2015/8/9 - 1785

2015/8/10 - 1822

所以我想在同一天对所有记录进行分组,但是它们在数据库中保存为时间戳,所以我需要在分组之前将它们转换为日期(没有时间),然后总结所有kcal字段同一天。

我无法理解语法。这就是我所拥有的:

$query = mysql_query("SELECT DATE(thedate), SUM(kcal) FROM food_records GROUP BY DATE(thedate) ORDER BY thedate");
            $result = mysql_query($query) or die(mysql_error());
            while($row = mysql_fetch_array($result)){
                echo $row['thedate']. " - ". $row['SUM(kcal)'];
                echo "<br />";
            }

这是我的SHOW CREATE TABLE

CREATE TABLE `food_records` (
 `record_id` int(11) NOT NULL AUTO_INCREMENT,
 `thedate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 `item_id` varchar(5) NOT NULL,
 `kcal` int(4) NOT NULL,
 PRIMARY KEY (`record_id`)
) ENGINE=MyISAM AUTO_INCREMENT=37 DEFAULT CHARSET=utf8

这里是SHOW VARIABLES LIKE&#34;%version%&#34;

protocol_version 10

版本5.1.73

version_comment来源分发

version_compile_machine x86_64

version_compile_os redhat-linux-gnu

0 个答案:

没有答案