react&节点应用,端点看起来像=>
app.get("/query", (req, res) => {
con.query(
`SELECT (${req.query.filter}),
count("${req.query.filter}") AS count,
AVG(age) AS averageAge
from census_learn_sql
GROUP BY (${req.query.filter})
LIMIT ${req.query.limit}`,
(err, result, fields) => {
err ? err : res.send(result);
}
);
});
当req.query.filter是一个没有空间的字符串时,例如"教育"……这起作用。当我尝试找到一个具有" this this spaces"之类空间的列名时,此查询不起作用。我怎样才能解决这个问题?
我认为背键应该有所帮助:
con.query(
`SELECT (`${req.query.filter}`),
count(`${req.query.filter}`) AS count,
AVG(age) AS averageAge
from census_learn_sql
GROUP BY (`${req.query.filter}`)
LIMIT ${req.query.limit}`,
(err, result, fields) => {
err ? err : res.send(result);
}
);
和恕我直言,您不需要所有括号,但是当您有一些聚合功能呼叫COUNT
:
con.query(
`SELECT `${req.query.filter}`,
count(`${req.query.filter}`) AS count,
AVG(age) AS averageAge
from census_learn_sql
GROUP BY `${req.query.filter}`
LIMIT ${req.query.limit}`,
(err, result, fields) => {
err ? err : res.send(result);
}
);
我强烈建议避免列名称具有空格。