gpt4 book ai didi

android - 在 Room db Dao 类中-如何通过比较列的不同值从表中获取值?

转载 作者:行者123 更新时间:2023-11-29 22:46:00 25 4
gpt4 key购买 nike

我正在处理 Room 数据库,我想通过比较类别列中的不同值从 IncomeExpense 表中获取两列值(类别和总金额)。让我解释一下,例如在类别列中有 4 行具有相同的值(现金),我想要的是计算类别为现金和类别值(在本例中为现金)的总金额列。我从另一个表(类别表)中获取这些类别值,用户可以在其中添加编辑或删除类别。
问题是我不知道如何将类别与用户在类别列中添加的值进行比较,在这种情况下是动态的。

这是我的实体类。

@Entity
public class IncomeExpense {
@PrimaryKey(autoGenerate = true)
private int id =0;

private String type;
private int amount;
private String category;
private String date;
private String time;
private String mode;
private String note;

这是 Dao 类,我必须在其中编写此查询

@Query("SELECT SUM(amount), category from IncomeExpense WHERE category like 'What should I write here to get these values in this case'");

本例只想获取总金额和类别值

最佳答案

您可以使用 group by 子句,这将返回 IncomeExpense 的列表,但金额将按类别分组

@Query("SELECT SUM(amount) as amount,category from IncomeExpense GROUP BY category");
public List<IncomeExpense> getCategoryPrice();

例如:数据库有:[ (10, Cash), (50, Cash), (20, Credit), (10, Credit) ]

上面的查询会返回[ (60, Cash), (30, Credit) ]

关于android - 在 Room db Dao 类中-如何通过比较列的不同值从表中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58484432/

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