PHP mysql - 如何根据分组的datetime字段对行进行求和

时间:2014-09-22 10:38:37

标签: php mysql sql

id | date              | status |
---+-------------------+--------+
1  |2013-12-26 00:00:00|  sent  |
---+-------------------+--------+    
2  |2013-12-26 00:00:00|  sent  |
---+-------------------+--------+ 
3  |2013-12-26 00:00:00|  sent  |
---+-------------------+--------+ 
4  |2018-10-21 00:00:00|  sent  |
---+-------------------+--------+
5  |2018-10-21 00:00:00|  sent  |
---+-------------------+--------+
6  |2018-10-21 00:00:00|  sent  |
---+-------------------+--------+

我想根据相同的“日期”行总结“已发送”状态,该怎么做?所以结果就像:

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

提前谢谢

更新

,PHP部分是:

<?php echo $stat->sent_time ?>

它会返回: 2018-10-21 00:00:00 因为它是一个日期时间记录,我想要 只获得日期部分: 2018-10-21

有人知道吗? PHP手册让我这样的新手感到困惑:(

4 个答案:

答案 0 :(得分:1)

你可以用这个

SELECT id,date,count(status)FROM test WHERE status ='sent'group by group

答案 1 :(得分:0)

尝试:

SELECT id, date, SUM(id) AS total_sent_status FROM table WHERE status = 'sent' GROUP BY date;

答案 2 :(得分:0)

尝试此查询

SELECT id,date,sum(status) as total_sent_status 
FROM author where status = 'sent'       
GROUP BY date; 

答案 3 :(得分:0)

尝试此查询: -

SELECT id, DATE(`date`) date, Count(status) as total_sent_status FROM `table` WHERE `status`='sent' GROUP BY date;