日期作为条件
如:
MYSQL根据日期统计数据

首先创建日期辅助表
/*
Navicat Premium Data Transfer

Source Server : localhost
Source Server Type : MySQL
Source Server Version : 50553
Source Host : localhost:3306
Source Schema : maiji1.5

Target Server Type : MySQL
Target Server Version : 50553
File Encoding : 65001

Date: 26/04/2020 14:43:23
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;


– Table structure for wancll_calendar_auxiliary


DROP TABLE IF EXISTS wancll_calendar_auxiliary;
CREATE TABLE wancll_calendar_auxiliary (
i int(11) NULL DEFAULT NULL
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = ‘日期辅助表’ ROW_FORMAT = Fixed;


– Records of wancll_calendar_auxiliary


INSERT INTO wancll_calendar_auxiliary VALUES (0);
INSERT INTO wancll_calendar_auxiliary VALUES (1);
INSERT INTO wancll_calendar_auxiliary VALUES (2);
INSERT INTO wancll_calendar_auxiliary VALUES (3);
INSERT INTO wancll_calendar_auxiliary VALUES (4);
INSERT INTO wancll_calendar_auxiliary VALUES (5);
INSERT INTO wancll_calendar_auxiliary VALUES (6);
INSERT INTO wancll_calendar_auxiliary VALUES (7);
INSERT INTO wancll_calendar_auxiliary VALUES (8);
INSERT INTO wancll_calendar_auxiliary VALUES (9);

SET FOREIGN_KEY_CHECKS = 1;

根据下面的sql语句可以查询出来日期条件
SELECT ADDDATE(DATE_SUB(NOW(), INTERVAL 183 DAY), INTERVAL numlist.id DAY) AS days
FROM
(
SELECT (a.i + b.i * 10 + c.i * 100) AS id FROM wancll_calendar_auxiliary AS a
CROSS JOIN wancll_calendar_auxiliary AS b
CROSS JOIN wancll_calendar_auxiliary AS C
)
AS numlist
WHERE ADDDATE(DATE_SUB(NOW(), INTERVAL 183 DAY), INTERVAL numlist.id DAY) <= NOW()
ORDER BY ADDDATE(DATE_SUB(NOW(), INTERVAL 183 DAY), INTERVAL numlist.id DAY) DESC

查询结果
如图:
MYSQL根据日期统计数据

相关文章: