在MYSQL数据库和NodeJS后端中按月过滤数据的最佳方法是什么?
我在解析为ejs的结果变量中具有所有数据。
let sql = "SELECT * FROM test_results";
exports.home = function (req, res, error) {
pool.getConnection(function (err, connection) {
if (err) throw err; // not connected!
connection.query(sql, function (err, results, fields) {
if (err) throw error;
res.render('home/index', {
moment: moment,
results: results
});
});
connection.release();
if (err) throw error;
})
};
每次使用DB写入数据时,我都有时间戳,所以现在我需要获取数字。在一月,二月创建了多少行...
我尝试过这样的事情:
connection.query("SELECT * FROM test_results WHERE test_date_time BETWEEN '2018-01-01 05:00:00' and '2018-01-31 05:00:00'", function(err, results, fields) {
我每个月都会这样做,然后将数据解析为ejs。但我认为这不是好方法。另外,我需要在客户端获得所有结果,以便我可以与它们一起工作,所以我不知道是否有一种方法可以用JS不在SQL查询中过滤数据。
我尝试将时间戳转换为矩,然后使用if语句进行过滤,但我不知道该怎么做。
有什么想法吗?谢谢