sqlite android select 求和
sqlite android select sum
我的 table 看起来像这样:
Client_Code Oder_ID NoOrd Weight
850458 5 1 12
850458 5 2 12
850458 6 1 5
我想求和权重,但是唯一的标准杆Oder_ID。
所以我想要的结果是 17 = 12 + 5
不是 29
我该怎么做?
我的代码是这样的;
public int GetPoids()
{
String SQL_syntax = "SELECT SUM("+ DBHelper.KEY_Poids +") as SumPoids FROM " + DBHelper.tableName + " GROUP BY " + DBHelper.KEY_CodeClient +","+DBHelper.KEY_NoOrdre ;
Cursor c = database.rawQuery(SQL_syntax, null);
if (c != null)
c.moveToFirst();
int Poids = c.getInt(0);
c.close();
return Poids;
}
试一试,
首先您需要获得唯一的 OrderId,然后只获取该 OrderId 的一条记录,再有一个条件 NoOrd=1
(它必须每条记录中至少有 NoOrd=1)
select sum(Weight) from Table_Name where Order_ID in (select distinct Order_ID from Table_Name) and NoOrd=1
抱歉,如果对您没有帮助,实际上由于缺少您的数据库结构,我尝试了一个在线工具。
我的 table 看起来像这样:
Client_Code Oder_ID NoOrd Weight
850458 5 1 12
850458 5 2 12
850458 6 1 5
我想求和权重,但是唯一的标准杆Oder_ID。 所以我想要的结果是 17 = 12 + 5 不是 29
我该怎么做?
我的代码是这样的;
public int GetPoids()
{
String SQL_syntax = "SELECT SUM("+ DBHelper.KEY_Poids +") as SumPoids FROM " + DBHelper.tableName + " GROUP BY " + DBHelper.KEY_CodeClient +","+DBHelper.KEY_NoOrdre ;
Cursor c = database.rawQuery(SQL_syntax, null);
if (c != null)
c.moveToFirst();
int Poids = c.getInt(0);
c.close();
return Poids;
}
试一试,
首先您需要获得唯一的 OrderId,然后只获取该 OrderId 的一条记录,再有一个条件 NoOrd=1
(它必须每条记录中至少有 NoOrd=1)
select sum(Weight) from Table_Name where Order_ID in (select distinct Order_ID from Table_Name) and NoOrd=1
抱歉,如果对您没有帮助,实际上由于缺少您的数据库结构,我尝试了一个在线工具。