2017-08-16 179 views
0

在报表中,每天有多个date_time数量记录。我想分别选择每天记录的数量总和。MySql GROUP BY date_time和SUM数量

 connection.query("SELECT date_time, quantity FROM report WHERE date_time BETWEEN ? AND ?", [fromDate_query, toDate_query], function(err, rows) { 
       if (err) console.log(err); 
       else { 
       for (var i = 0; i < rows.length; i++) { 
        var row = rows[i]; 
        console.log("**********************************"); 
        console.log("date_time : " + row.date_time); 
        console.log("quantity : " + row.quantity); 
        console.log("**********************************"); 
       } 
       io.emit("chart", rows); 
       } 
       // console.log(rows); 
      }); 

表实例

| date_time   | quantity 
------------------------- 
| 2017-08-13 11:12:51 | 1 
| 2017-08-13 12:45:51 | 1 
| 2017-08-13 13:57:51 | 1 
| 2017-08-14 14:23:51 | 1 
| 2017-08-14 16:34:51 | 1 
| 2017-08-15 16:21:51 | 1 
| 2017-08-16 14:31:51 | 1 

选择后

| date_time | quantity 
------------- 
| 2017-08-13 | 3 
| 2017-08-14 | 2 
| 2017-08-15 | 1 
| 2017-08-16 | 1 

我怎样才能做到这一点?

+2

提取日期部分,和组通过。 – jarlh

+0

@jarlh你能更具体吗? – ilvthsgm

回答

2

转换时间戳的日期和GROUP BY日期和最后SUM补上或做COUNT(quantity)

SELECT DATE(date_time) 
     ,SUM(quantity) 
    FROM report 
    WHERE date_time BETWEEN ? AND ? 
GROUP BY DATE(date_time)