如何获取 3 个月的数据,不包括每个月的周末数据
how to fetch 3 months data excluding data of weekends of every month
Select temp, DATE_FORMAT(temp,'%b-%d') from test
where temp between
concat(year(now()),'-',month(now()) -3,'-', DATE_FORMAT(now(), '%d'))
and
(curdate());
我正在使用此查询获取 3 个月的数据,包括每周 7 天,但我没有得到预期的结果,我如何通过此查询获取每周 5 天的数据并忽略周末数据数据库。
您可以使用 DAYOFWEEK
函数,其中 returns 值范围从 1
(星期日)到 7
(星期六):
SELECT temp, DATE_FORMAT(temp,'%b-%d') FROM test
WHERE
DAYOFWEEK(temp) BETWEEN 2 AND 6
AND
temp BETWEEN
CONCAT(YEAR(NOW()),'-',MONTH(NOW())-3,'-',DATE_FORMAT(NOW(), '%d'))
AND
(CURDATE());
但是请注意,您选择最近 3 个月数据的条件看起来有点可疑。做这样的事情可能更简单:
SELECT temp, DATE_FORMAT(temp,'%b-%d') FROM test
WHERE
DAYOFWEEK(temp) BETWEEN 2 AND 6
AND
temp >= NOW()-INTERVAL 3 MONTH;
Select temp, DATE_FORMAT(temp,'%b-%d') from test
where temp between
concat(year(now()),'-',month(now()) -3,'-', DATE_FORMAT(now(), '%d'))
and
(curdate());
我正在使用此查询获取 3 个月的数据,包括每周 7 天,但我没有得到预期的结果,我如何通过此查询获取每周 5 天的数据并忽略周末数据数据库。
您可以使用 DAYOFWEEK
函数,其中 returns 值范围从 1
(星期日)到 7
(星期六):
SELECT temp, DATE_FORMAT(temp,'%b-%d') FROM test
WHERE
DAYOFWEEK(temp) BETWEEN 2 AND 6
AND
temp BETWEEN
CONCAT(YEAR(NOW()),'-',MONTH(NOW())-3,'-',DATE_FORMAT(NOW(), '%d'))
AND
(CURDATE());
但是请注意,您选择最近 3 个月数据的条件看起来有点可疑。做这样的事情可能更简单:
SELECT temp, DATE_FORMAT(temp,'%b-%d') FROM test
WHERE
DAYOFWEEK(temp) BETWEEN 2 AND 6
AND
temp >= NOW()-INTERVAL 3 MONTH;