我正在尝试根据日期时间行对人数进行求和。
我的桌子是这样的:
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:)
我希望我的问题足够清楚。
SUM(`person`)
使用backticks作为列名,您将使用字符串
您使用什么数据库引擎?
无论如何,这应该有效:
$date = "2013-12-26 00:00:00";
$query = "
SELECT date, SUM(person) totalperson
FROM table_name WHERE date='$date'
GROUP BY date
";
SELECT
date,
SUM(person) totalperson
FROM table_name
WHERE DATE(date) = '$date'
GROUP BY date
使用DATE()函数
您在日期-时间列中提供日期字符串