Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 房间DB选择所有项目的列表+这些项目的总和_Android_Android Room - Fatal编程技术网

Android 房间DB选择所有项目的列表+这些项目的总和

Android 房间DB选择所有项目的列表+这些项目的总和,android,android-room,Android,Android Room,我有两个来自DB房间的问题: @Query("SELECT * FROM basket_items") Flowable<List<BasketItem>> getAll(); @Query("SELECT SUM(count*amount) FROM basket_items") Flowable<Long> totalSum(); 如何将此查询合并到一个查询?它将返回什么类型的模型?房间查询可以返回POJO而不是@实体,因此您可以为DAO创建临时模型

我有两个来自DB房间的问题:

@Query("SELECT * FROM basket_items")
Flowable<List<BasketItem>> getAll();

@Query("SELECT SUM(count*amount) FROM basket_items")
Flowable<Long> totalSum();

如何将此查询合并到一个查询?它将返回什么类型的模型?

房间查询可以返回POJO而不是@实体,因此您可以为DAO创建临时模型

正如我在评论中已经问过的,我不知道你想要实现什么,也不知道你想从这些查询中获得什么价值

但希望这个例子能有所帮助:

YourDao.java

补充答复

查询无法返回要返回的列表和总和。SUM是聚合方法,您可以聚合列表

因此,您可能需要做两个选择:

在查询中使用分组依据

或者执行这两个Flowable并得到结果


你想达到什么目的?@user8035311一般来说,我只是问这个问题。如何将2个查询重写为1在这个实现中,我尝试了一下,每个项都有总计。我需要类似这个类的东西basketitemWithTotal{private List items;private long total;}我添加了一些您可能想要检查的答案
@Query("SELECT name AS nameItem, (count * amount) AS countItem FROM basket_items")
Flowable<List<CountedBasketItem>> getAllCounted();

static class CountedBasketItem {
    String nameItem;
    Long countItem;
}