Шаг №1: Дайте имя счетчику: SELECT type, COUNT(*) AS count FROM offerings GROUP BY type
Шаг №2: Создайте класс Java с подходящими полями:
public class Thingy {
public String type;
public int count;
}
Шаг №3: Попросите ваш тип возврата из метода DAO использовать этот класс:
@Query("SELECT type, COUNT(*) FROM offerings GROUP BY type")
LiveData<List<Thingy>> getOfferingsGroupedByType();
Я не помню, чтобы Room поддерживал возврат Map
, поэтому вам нужно будет обработать этот аспект самостоятельно, либо в наблюдателе, либо через MediatorLiveData
, который обертывает LiveData
, полученный от DAO, и выполняет преобразование.