我的表结构是:
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
答案 0 :(得分:2)
选择sum(RxEnd - RxStart)作为总和来自(选择DISTINCT uid,RxStart,来自NetworkTransactions的RxEnd)作为temp
尝试以上查询