我想使用SQL查询javascript数组对象(对数据执行分组)。
var data = [{ dep: 'A', qt: 10, price: 5},
{ dep: 'A', qt: 5, price: 2.30 },
{ dep: 'B', qt: 3, price: 2.20 },
{ dep: 'C', qt: 1, price: 4 },
{ dep: 'C', qt: 4, price: 10 }];
var res = alasql('SELECT dep, SUM(qt) AS qt, SUM(qt*price) AS amt, AGGR(amt/qt) AS price FROM ? GROUP BY dep',[data]);
document.getElementById("res").textContent = JSON.stringify(res);
但在我的原始场景中,我的列名称为:
var data = [{ "dep name": 'A', qt: 10, price: 5},
{ "dep name": 'A', qt: 5, price: 2.30 },
{ "dep name": 'B', qt: 3, price: 2.20 },
{ "dep name": 'C', qt: 1, price: 4 },
{ "dep name": 'C', qt: 4, price: 10 }];
如何修改上述SQL查询,以便可以使用带空格的列名。 任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用反引号(`)来转义MySQL列名。这允许您:
SELECT A as `dep name` ...