【问题标题】:How to return sum from Room database?如何从 Room 数据库返回总和?
【发布时间】:2019-03-01 01:15:52
【问题描述】:

我需要从 Expense 对象中获取 value 字段的总和并将其显示在 textview 中,但我真的不知道如何在 Room Database 中执行此操作。我需要在 Dao 中创建特定查询还是有其他方式?

波乔:

@Entity(tableName = "expense_table")
public class Expense {

@PrimaryKey
private int id;
private String note;
private Double value;
private String type;

道:

@Dao
public interface ExpenseDao {

@Insert
void insertExpense(Expense expense);

@Query("SELECT * FROM expense_table")
LiveData<List<Expense>> getExpensesByDay();

【问题讨论】:

    标签: android android-room


    【解决方案1】:

    您需要在 DAO 中创建一个新查询

    @Query("SELECT COALESCE(sum(COALESCE(value,0)), 0) From expense_table")
    LiveData<Double> getTotal();
    

    【讨论】:

    • 查询中的总和呢?我需要在 pojo 中创建那个字段吗?
    • sum 是保留关键字,用于获取字段的总和。在查询中,您将获得数据库中所有value 列的总和
    猜你喜欢
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-01
    • 2021-02-04
    • 1970-01-01
    • 2020-12-02
    相关资源
    最近更新 更多