Android 房间数据库中GROUPBY语句的返回类型

Android 房间数据库中GROUPBY语句的返回类型,android,sqlite,Android,Sqlite,我想对我的数据库进行以下查询: SELECT type, COUNT(*) FROM offerings GROUP BY type 此查询在Sqlite浏览器中运行良好。现在我想在我的Dao中使用此查询: 但我得到了一个错误:。。。不确定如何将游标转换为此方法的返回类型 如何查询包含两列的表?->也就是说,[type,counttype]?步骤1:为计数命名:选择type,count*AS count FROM provides GROUP BY type 步骤2:创建具有适当字段的Java

我想对我的数据库进行以下查询:

SELECT type, COUNT(*) FROM offerings GROUP BY type
此查询在Sqlite浏览器中运行良好。现在我想在我的Dao中使用此查询:

但我得到了一个错误:。。。不确定如何将游标转换为此方法的返回类型


如何查询包含两列的表?->也就是说,[type,counttype]?

步骤1:为计数命名:选择type,count*AS count FROM provides GROUP BY type

步骤2:创建具有适当字段的Java类:

公共类的东西{ 公共字符串类型; 公共整数计数; } 步骤3:让DAO方法的返回类型使用该类:

@查询按类型从产品组中选择类型、计数* LiveData getOfferingsGroupedByType;
我不记得房间支持返回地图,因此您需要自己处理这方面的问题,可以在observer中,也可以通过中介LiveData来包装从DAO获得的LiveData并进行转换。

步骤1:为计数命名:选择类型,计数*作为按类型从产品组中计数

步骤2:创建具有适当字段的Java类:

公共类的东西{ 公共字符串类型; 公共整数计数; } 步骤3:让DAO方法的返回类型使用该类:

@查询按类型从产品组中选择类型、计数* LiveData getOfferingsGroupedByType;
我不记得有房间支持返回地图,所以您需要自己处理这方面的问题,可以在observer中,也可以通过中介LiveData来包装从DAO获得的LiveData并进行转换。

太好了!这就成功了。我不知道查询和字段之间存在绑定。非常感谢。真棒的把戏!我需要在select语句中使用COUNT*作为COUNT,以映射到返回类中的COUNT变量!这就成功了。我不知道查询和字段之间存在绑定。非常感谢。真棒的把戏!我需要在select语句中使用COUNT*作为COUNT,以映射到返回类中的COUNT变量
@Query("SELECT type, COUNT(*) FROM offerings GROUP BY type")
LiveData<Map<String, Integer>> getOfferingsGroupedByType();