android - 如何在游标查询中使用 group by 子句?

标签 android sqlite

我想在以下游标查询的“helper.TX_NAME”列上使用 group by 子句生成合并报告。

String[] columns = {VivzHelper.UID, helper.TX_NAME, helper.TX_PARTICULARS, helper.TX_AMOUNT, helper.TX_DATE};

Cursor c = db.query(VivzHelper.TX_TABLE, 
    columns, 
    helper.TX_ID + "='" + name + "' AND " + helper.TX_DATE + " BETWEEN '" + datefrom.from_date + "' AND '"  + dateto.to_date + "  ' ", 
    null, 
    null, 
    null, 
    null, 
    null);

最佳答案

要获取每个日期和姓名组合的输出行,按这些列分组:

SELECT Date,
       Name,
       SUM(Amount) AS Amount
FROM TxTable
GROUP BY Date,
         Name

在Java中,只需将各个部分放入适当的参数中即可:

String[] columns = {
    helper.TX_NAME,
    "SUM("+helper.TX_AMOUNT+") AS "+helper.TX_AMOUNT,
    helper.TX_DATE
};
db.query(VivzHelper.TX_TABLE,
         columns,
         helper.TX_ID + "= ? AND " + helper.TX_DATE + " BETWEEN ? AND ?",
         new String[] { name, datefrom.from_date, dateto.to_date },
         helper.TX_NAME + ", " + helper.TX_DATE,
         null, null);

关于android - 如何在游标查询中使用 group by 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29740012/

相关文章:

android - AppCompatv7 Android 5.0问题

android - PhoneGap Android后台服务的实现方法

android - sqlite 中的 strftime() 给出了错误的结果

android - 三星设备上的数据库错误

sql - SQL-兴趣之间的计算重叠

java - android - 重复一个switch语句

java - 了解SD卡路径Android的最佳方法

android - 如何使用 OnTouch() 检查图像是否被触摸

ruby-on-rails - 与 SQLite 和 PostgreSQL 兼容的 LIKE 查询

android - 来自任意目录的Cordova Android : Open a SQLite . db数据库