PHP MySQL,基于日期时间行的行总和

时间:2013-12-09 13:12:34

标签: php mysql datetime sum

我试图根据日期时间行来计算人数。

这就是我的表格:

id | date              | person |
---+-------------------+--------+
1  |2013-12-26 00:00:00|  3     |
---+-------------------+--------+    
2  |2013-12-26 00:00:00|  2     |
---+-------------------+--------+ 
3  |2013-12-26 00:00:00|  3     |
---+-------------------+--------+ 
4  |2018-10-21 00:00:00|  3     |
---+-------------------+--------+

我想让我的查询做的是:根据日期汇总所有人。但我认为我的问题不是自我查询(或者可能是),而是日期时间。我有类似

的东西
$date = "26.12.2013";
$date = strtotime(date("d.m.Y", strtotime($date)));
$date = date("Y-m-d", $date); 
$query= "SELECT '$date', SUM('person') totalperson FROM table_name WHERE date='$date' GROUP BY '$date'";

但返回的数字是2016年,预计是8:)

我希望我的问题很清楚。

3 个答案:

答案 0 :(得分:4)

SUM(`person`) 

使用反引号作为列名,你要求一个字符串

答案 1 :(得分:0)

SELECT 
    date, 
    SUM(person) totalperson 
FROM table_name 
WHERE DATE(date) = '$date' 
GROUP BY date

使用DATE()函数

您在日期时间列

中提供日期字符串

答案 2 :(得分:0)

您使用什么数据库引擎?

无论如何,这应该有效:

$date = "2013-12-26 00:00:00";
$query = "
  SELECT date, SUM(person) totalperson 
  FROM table_name WHERE date='$date' 
  GROUP BY date
";