考虑您有表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