计算sql中列的总和

时间:2017-09-29 14:21:02

标签: java sql

我正在尝试计算sql中的金额总和。我正在使用java POJO classes.Now我正在编写这样的查询

    "SELECT SUM(amount) FROM fundraisingusers ";

但它显示错误,因为无法在类com.lh.alumni.dto.FundraisingUsers上找到SUM(金额)的setter。如何在我的Java pojo类中为SUM添加getter和setter?

这是我的pojo课程

public class FundraisingUsers implements Serializable{
    private Integer fundraisinguserId;
    private BigDecimal amount;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "fundraisinguserId")
    public Integer getFundraisinguserId() {
    return fundraisinguserId;
    }

    public void setFundraisinguserId(Integer fundraisinguserId) {
    this.fundraisinguserId = fundraisinguserId;
    }

    @Column(name = "amount")
    public BigDecimal getAmount() {
    return amount;
    }

    public void setAmount(BigDecimal amount) {
    this.amount = amount;
}

1 个答案:

答案 0 :(得分:1)

我猜你要做的是,你想得到所有用户数量的总和。

这里的问题是,您尝试获取fundraisingusers - 对象并将金额分配给每个用户的所有用户总和。这是错误的。

你能做的是:

SELECT amount FROM fundraisingusers;

然后,您获得的所有模型都可以在代码端构建总和。

或者您可以尝试使用getter / setter构建一个pojo,如

private BigDecimal sumamount;

@Column(name = "sumamount")
public BigDecimal getSumAmount() {
    return this.sumamount;
}

public void setSumAmount(BigDecimal amount) {
    this.sumamount= sumamount;
}

,查询是

SELECT sum(amount) as SumAmount FROM fundraisingusers;