如果只是为了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!
















