当前位置: 首页 > 面试题库 >

如何在某些单元格上使用自定义操作的CriteriaQuery SUM?

邹昊
2023-03-14
问题内容

考虑您有表T,其中包含字段A和B。

使用常规SQL,我可以这样做:

SELECT SUM(A * (100.0 - B) / 100.0) AS D FROM T;

我会得到我所期望的。

但是,我不确定如何使用CriteriaQuery。

我知道如何对1个字段求和,但不知道如何对多个行中的某些数学表达式求和。


问题答案:

CriteriaBuilder接口提供以下算术功能:

  • 加成: sum(a, b)
  • 减法: diff(a, b)
  • 乘法: prod(a, b)
  • 师: quot(a, b)

其中a b参数可以是一个表达和/或文字。

至于查询,以下是以易于阅读的形式编写的示例:

CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Number> q = cb.createQuery(Number.class);
Root<T> t = q.from(T.class);

// build SUM(A * (100.0 - B) / 100.0) expression
Expression<Double> diff = cb.diff(100.0, t.<Double>get("B"));
Expression<Double> prod = cb.prod(t.<Double>get("A"), diff);
Expression<Number> quot = cb.quot(prod, 100.0);
Expression<Number> sum = cb.sum(quot);
q.select(sum.alias("D"));

System.out.println(em.createQuery(q).getSingleResult());

您还可以将查询作为单行构建

q.select(cb.sum(cb.quot(cb.prod(t.<Double>get("A"), cb.diff(100.0, t.<Double>get("B"))), 100.0)).alias("D"));

我希望它可以澄清您的疑问。



 类似资料:
  • 问题内容: 我一直在一些存储库中使用自定义操作。到目前为止,我只需要指定url和方法。 例如: 但是随后,我不得不编写一个自定义操作,该操作不包含一个,而是两个路径参数: 所以我首先将其编码为: 但这是行不通的。参数未传递。 经过几次尝试,我发现在自定义操作定义之前添加一些参数定义可以正常工作。 它必须像: 请注意以下情况: 当时我的理解是,在$ resource定义中,具有多个路径参数的自定义操

  • 我创建了一个带有自定义表格呈现和自定义单元格编辑器的JTable,它在图像中给出结果 我使用一个扩展JPanel的单独类创建了第一个表格单元格中显示的面板。并将表值添加为, 这是我的表格自定义类来创建这个表格, 我的问题是认为面板如我预期的那样显示,我不能在文本字段中键入或更改复选框或单击按钮。请告诉我如何解决这个问题。

  • TensorFlow GraphDef based models (typically created via the Python API) may be saved in one of following formats: TensorFlow SavedModel Frozen Model Session Bundle Tensorflow Hub module All of above f

  • 我在xib中创建了一个自定义单元格(在iOS6中使用Storyboards,但为单元格创建了单独的xib),现在我正在尝试将扬声器按钮连接到UITableViewController子案例中的IBAction。 我在viewDidLoad中注册了手机: 我尝试了几种不同的方法来添加目标。例如,在我的表视图:单元格中,我尝试直接添加目标。 我还尝试在我的自定义单元格xib中将文件所有者设置为我的表视

  • 我按照本教程创建了一个自定义。xib,我计划在表格视图的单元格中使用它: https://medium.com/@brianclouser/swift-3-creating-a-custom-view-from-a-xib-ecdfe5b3a960 以下是我创建的 .xib 类: 以前,我在情节提要中创建我的表视图单元格,但我已经意识到我想要一个更灵活的视图,以便我可以在应用的不同部分使用它,所以

  • 问题内容: 我要实现ActionBar必须如下所示的自定义: 所以问题: 如何实现类似自定义视图的按钮:仅显示一些图像? 如何在顶部绘制一条线? 以及如何实现不带分隔线的按钮:在上添加标签或添加什么? 问题答案: 如果要使用ActionBarAPI,这几乎与你将获得的接近。我不确定你是否可以在ActionBar不进行奇怪的Window黑客操作的情况下在其上方放置一个色带,这是不值得的。至于更改Me