Mysql 获取过去7天的记录
我有疑问Mysql 获取过去7天的记录,mysql,sql,group-by,Mysql,Sql,Group By,我有疑问 SELECT IFNULL(SUM(a.x), 0) AS x, IFNULL(COUNT(*), 0) AS num FROM a AS a WHERE (a.`time` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)) GROUP BY DAY(a.time) 没关系,但当准确的日期没有记录时,这一天就不会返回。我需要返回0。 怎么做 SELECT COALESCE(SUM(a.x), 0) AS x, COA
SELECT
IFNULL(SUM(a.x), 0) AS x,
IFNULL(COUNT(*), 0) AS num
FROM a AS a
WHERE (a.`time` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY))
GROUP BY DAY(a.time)
没关系,但当准确的日期没有记录时,这一天就不会返回。我需要返回0。
怎么做
SELECT
COALESCE(SUM(a.x), 0) AS x,
COALESCE(COUNT(*), 0) AS num
FROM a AS a
WHERE (a.`time` >= DATE_SUB(CURDATE(), INTERVAL 7 DAY))
GROUP BY DAY(a.time)
-返回列表中的第一个非空值
但是,我认为您应该在处理@DevZer0建议的数据时处理这个问题
-返回列表中的第一个非空值
但是,我认为您应该在处理@DevZer0建议的数据时处理这个问题。您希望mysql在没有数据的情况下重新运行数据吗?如果当天没有记录,数据库将不会返回当天的记录,这非常简单。在处理数据或显示数据时,您需要处理此要求。此链接可能会帮助您[获取过去7天的记录][1][1]:您希望mysql在没有记录的情况下重新运行数据?如果当天没有记录,数据库将不会返回当天的记录,这非常简单。在处理或显示数据时,您需要处理此要求。此链接可能会帮助您[获取过去7天的记录][1][1]:该方法返回,就像OP的方法在当天没有记录时不返回0一样,该方法返回,就像OP的方法在当天没有记录时不返回0一样