getAll(); @Query("SELECT SUM(co-6ren">
gpt4 book ai didi

android - Room DB select 所有项目的列表+这些项目的总和

转载 作者:行者123 更新时间:2023-11-29 23:49:42 25 4
gpt4 key购买 nike

我有 2 个来自 ROOM DB 的查询:

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

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

如何将这些查询合并为一个查询?它会返回什么类型的模型?

最佳答案

房间查询可以返回 POJO(不是 @Entity),因此您可以为您的 DAO 创建临时模型。

正如我已经在评论中询问的那样,我不知道您想要实现什么(例如您想从这些查询中获得什么值(value))。

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

YourDao.java

@Query("SELECT name AS nameItem, (count * amount) AS countItem FROM basket_items")
Flowable<List<CountedBasketItem>> getAllCounted();

static class CountedBasketItem {
String nameItem;
Long countItem;
}

补充回答

你想返回的List和total sum是查询不到的。 SUM 是聚合方法,你聚合列表。

所以有 2 个选项可供您选择:

  1. 在查询中使用GROUP BY

  2. 或者执行那两个 Flowable 并得到结果。

关于android - Room DB select 所有项目的列表+这些项目的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51026096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com