如果只是为了7天,写那么字段也就算了。但是遇见了​​统计30天内每天的数据​​时,是不是哭了呢?

新的MYSQL筛选语句:

$sql = "select DATE_FORMAT(a.paid_at,'%Y-%m-%d') as dataKey,ifnull(COUNT(),0) AS totalTrans,ifnull(SUM(a.should_paid),0) AS totalPays,b.uniacid,b.dpopen from " . $db->table('orders') . " AS a, " . $db->table('set_basic') . " AS b WHERE a.paid_at <> '' AND a.uniacid = b.uniacid";
$sql .= " GROUP BY DATE_FORMAT(a.paid_at,'%Y-%m-%d') ORDER BY a.paid_at DESC LIMIT 7";
$row = $db->queryall($sql);
$res["data"] = $row;
die(json_encode_lockdata($res));

解析:

一、按照每日的日期作为分组的依据进行SUM统计;

DATE_FORMAT(a.paid_at,'%Y-%m-%d') as dataKey

二、限制显示数量

ORDER BY a.paid_at DESC LIMIT 7

三、调整显示方式

由于是按照时间降序排列,在echarts使用过程中,X轴需要加入反转参数

inverse: true,

Done!