首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据主干/下划线中的另一个字段对一个db字段求和的函数

根据主干/下划线中的另一个字段对一个db字段求和的函数
EN

Stack Overflow用户
提问于 2012-12-27 02:49:39
回答 2查看 107关注 0票数 1

我目前正在使用backbone构建一个简单的库存管理应用程序。我的数据库中有一个表,其中包含型号和数量;这是该对象的strigify版本:

var invt =

[{

"id":1,

“模型”:“佳能SX230",

"qty":10,

"price":"150.50“

},

{

"id":2,

“model”:“佳能叛军T3i",

"qty":25,

"price":"450.50",

},

{

"id":3,

“model”:“佳能叛军T2",

"qty":10,

"price":"250.00“

},

{

"id":4,

“model”:“佳能叛军T2i",

"qty":15,

"price":"275.00“

},

{

"id":5,

“模型”:“佳能SX230",

"qty":5,

"price":"125.00“

}]

如何根据模型进行过滤以求和数量。创建一个具有相似模型的新对象的总数量。

从本质上讲,结果是:

[{

"id":1,

“模型”:“佳能SX230",

"qty":15,

"price":"275.00“

},

{

"id":2,

“model”:“佳能叛军T3i",

"qty":25,

"price":"450.50“

}]

等等。

我一直在尝试使用以下循环:

var sum = {};

代码语言:javascript
复制
    for (var i = 0; i < invt.length; i++) { 
        var record = invt[i];

        sum.model = record.model + (sum.model);
    };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-27 03:04:12

因为您只使用了与JS相关的标记,所以我猜您想要在客户端执行此操作。

你可以这样做:

代码语言:javascript
复制
var records = [
    {
        id: 1,
        model: "A",
        quantity: 6
    }, {
        id: 1,
        model: "A",
        quantity: 4
    }, {
        id: 1,
        model: "B",
        quantity: 3
    }, {
        id: 1,
        model: "B",
        quantity: 2
    }
];

var sum = {};
for(var i = 0; i < records.length; i++) {
    var record = records[i];
    sum[record.model] = record.quantity + (sum[record.model] || 0);
}
document.body.innerHTML = JSON.stringify(sum);​

演示:http://jsfiddle.net/Dhsm5/

把这个对象转换成你想要的格式是很容易的。

票数 0
EN

Stack Overflow用户

发布于 2012-12-27 02:54:44

代码语言:javascript
复制
Select sum(quantity)
From yourtable
Group by model;

这个应该可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14044830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档