具有一列不同值的行的总和

时间:2014-10-16 11:23:12

标签: android sqlite

我的表结构是:

CREATE TABLE "NetworkTransactions" ("uid" INTEGER NOT NULL , "RxStart" INTEGER, "RxEnd" INTEGER, "TxStart" INTEGER, "TxEnd" INTEGER, "StartTS" INTEGER, "EndTS" INTEGER)

我想添加RxEnd&的差异RxStart,其中uid是唯一的。

目前我能够对差异进行求和,但它也总结了不同出现的uid的值,它们是同一个。我需要在给定的查询中修改什么?

Cursor cursor = db.query("NetworkTransactions",
                            new String[] { "sum(RxEnd - RxStart) AS sum" }, null, null, "uid",
                            "sum > 0", "sum", null);
基本上,我想编写一个等同于:

的查询
select sum(RxEnd - RxStart) as sum from (select DISTINCT uid, RxStart, RxEnd from NetworkTransactions) where sum > 0

输入表:

uid RxStart RxEnd 
1   100     200
2   100     150
1   100     200
2   100     150
4   400     500
6   200     600

预期产量: 具有唯一行ID的行的总和作为对应的值只是重复的

uid RxStart RxEnd   Diff(RxEnd - RxStart)
1   100     200     100
2   100     150     50
4   400     500     100
6   200     600     400
________________________
sum                 650

1 个答案:

答案 0 :(得分:2)

选择sum(RxEnd - RxStart)作为总和来自(选择DISTINCT uid,RxStart,来自NetworkTransactions的RxEnd)作为temp


尝试以上查询