【发布时间】:2015-03-09 13:07:55
【问题描述】:
我有这些类/实体:
class Item {
int id;
String name;
}
class Sale {
Item item;
double value;
}
如何使用 Query DSL 获得按商品分组的销售额总和?
我可以运行这个查询:
QSale sale = QSale.sale;
QItem item = QItem.item;
from(sale).join(sale.item, item).groupBy(item).list(item.id, sale.value.sum())
但这仅返回项目 ID 及其总和,但如何获取整个 Item 对象及其总和?
如果我将查询写成:
from(sale).join(sale.item, item).groupBy(item).list(item, sale.value.sum())
我会得到:
选择列表中的“Item.name”列无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
【问题讨论】: