Android 房间DB选择所有项目的列表+这些项目的总和
我有两个来自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创建临时模型
@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;
}