我有这样的列一个表中的记录:如何选择不重复的只是一个场SQLite的Android的
+--------+----+--------+---------------+------- +-------+---------+
| DATE | ID | Name | Cattle Type | Liter | Shift | Payment |
+--------+----+--------+---------------+------- +-------+---------+
和数据是这样的
9-9-2016 | 01 | Abhi | Cow | 2 | AM | 50 |
9-9-2016 | 02 | Ram | Buff | 1 | AM | 25 |
9-9-2016 | 01 | Abhi | Buff | 2 | PM | 50 |
9-9-2016 | 01 | Abhi | Cow | 2 | PM | 50 |
我通过获取的所有数据通过在数据库功能 例如日期: -
databaseObject.getAlldata(String From_date, StringTo_date)
后,我得到的人l来自我的数据库的值,我将它存储到列表中。
我需要有没有任何重复的id。其实我需要他们的id和牛类型,升,支付什么是最好的Sqlite命令来做到这一点?
我期望的结果是这样的:
ID : 1
Cow = 4.00 Litre Rs 100
Buff = 2.00 Litre Rs 50
Total = Rs 150
ID : 2
Cow = 0.00 Litre Rs 0.0
Buff = 1.00 Litre Rs 25
Total = Rs 25
我的代码是:
list1 = db.getAllMilkCollection(start, end);
try {
for(i = 0; i < list1.size(); i++) {
CattleTypeCowTotal = 0;
CattleTypeBuffTotal = 0 ;
String id = list1.get(i).member_code;
list2 = db.getAllDataOfPaymentRegister(start,end,id);
for(j = 0; j < list2.size(); j++) {
String member_name = list2.get(j).member_name;
String Cattle_type = list2.get(j).cattle_type;
if(Cattle_type.equalsIgnoreCase("Cow")){
String amount = list2.get(j).amount.trim();
if(amount!=null){
CattleTypeCowTotal += Float.parseFloat(amount);
}
}
if(Cattle_type.equalsIgnoreCase("buff")){
String amount = list2.get(j).amount.trim();
if(amount != null){
CattleTypeBuffTotal += Float.parseFloat(amount);
}
}
}
System.out.println("xxxxxxxxxxxxxxxxxxxx");
}
} catch (Exception e) {
Log.e("Error", ""+e);
}
感谢提前:) :)
使用'GROUP BY'。 –
我想你想显示按照** ID **分类的数据,显示每个牛的_Quantity(在你的情况下为Liter)_和_sum Payment_的总和。如果我理解错了,请纠正我。 –
yea @Monish Kamble是的,我想要那样的东西..谢谢 –