【发布时间】:2017-01-22 01:55:17
【问题描述】:
我有一个包含这样列的表格:
+--------+----+--------+---------------+------- +-------+---------+
| DATE | ID | Name | Cattle Type | Liter | Shift | Payment |
+--------+----+--------+---------------+------- +-------+---------+
而Data是这样的
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)
之后,我从数据库中获取所有值并将其存储到列表中。
我需要没有任何重复的 id。实际上我需要他们的 id 和 Cattle type,liter,payment 最好的 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 in your case) 和 sum 的总和每头牛的付款。如果我理解错了,请纠正我。
-
是的@Monish Kamble 是的,我想要这样的东西......谢谢
-
@AbhishekPunia :在下面查看我的答案。
标签: java android sql sqlite android-sqlite