我试图根据日期时间行来计算人数。
这就是我的表格:
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:)
我希望我的问题很清楚。
答案 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
";