- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获得两个字段之间的最大和最小值。我将 JPA 2.1 与 EclipsLink 结合使用。
这是我的简化查询:
SELECT GREATEST(c.min, mc.max), LEAST(c.max, mc.max)
FROM
MethodCategory mc, OperationMethod om, Client c
JOIN
User u ON c.id = u.client.id
WHERE
om.method = 1
AND om.method.category = "SUPER"
AND om.isDeleted = false
AND om.user = u
AND u.id <> 1
AND c.isOnline = TRUE
AND c.isActive = TRUE;
作为原始 sql 查询,它在 MySQL Workbench 上运行良好,但是当我将此查询复制到我的 entityManager.createQuery(query)
时,我得到一个异常。
下面是我如何将查询复制到 JPA:
TypedQuery<Object[]> query = em.createQuery("SELECT GREATEST(c.min, mc.min), LEAST(c.max, mc.max) "
+ " FROM\n"
+ " MethodCategory mc, OperationMethod om, Client c \n"
+ " JOIN\n"
+ " User u ON c.id = u.client.id \n"
+ " WHERE\n"
+ " om.method = :method \n"
+ " AND om.method.category = :categoryName \n"
+ " AND om.isDeleted = false \n"
+ " AND om.user = u \n"
+ " AND u.id <> :userId \n"
+ " AND c.isOnline = TRUE \n"
+ " AND c.isActive = TRUE \n",
Object[].class);
每当我执行这个 JPQL 查询时,我都会得到这个异常:
Exception Description: Syntax error parsing [SELECT GREATEST(c.min, mc.min), LEAST(c.max, mc.max) FROM (...)
[14, 15] The SELECT clause has 'GREATEST' and '(c.min, mc.min)' that are not separated by a comma.
[72, 73] The SELECT clause has 'LEAST' and '(c.max, mc.max)' that are not separated by a comma.
这个异常(exception)对我来说真的毫无意义。我清楚地用逗号分隔 GREATEST() 和 LEAST() 并且 GREATEST , (value) 没有任何意义。
我在这里做错了什么?
最佳答案
JPA 2.0 不支持聚合函数 greatest
和 least
。 syntax 中未提及它们.您是否尝试过 min
和 max
:max(c.min,mc.min), min(c.max,mc.max)
?
关于java - JPA - 语法错误解析 SELECT GREATEST(c.field, mc.field), LEAST(c.field, mc.field) FROM table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38642943/
为什么 GREATEST(createdTS, modifiedTS) 每列之一为“null”时返回“null”? 如果两者之一为空,我只需要另一个的值。如果两者都为空,则为空。 我该怎么做? 正如我
在Elasticsearch索引中,我有具有以下字段的文档:fooId和fooField。 我想获取给定fooId值但fooField最大值的文档。现在,我有一个聚合的查询过滤器,如下所示: "agg
以下关系仅适用于两个 (3, 12) 数字,当用于三个数字 (3,12,10) 时无法产生正确答案。只是想知道这是我的理解还是仅适用于两个数字,对我来说欧几里得算法也是如此。 LCM(a, b) =
我正在试验 mysql,并使用 GRATEST() 函数进行查询来比较两个不同的字段。 我的查询如下所示: SELECT id, float1, float2, GREATEST(
我创建了一个显示最早时间戳的列,现在我想创建另一个显示该时间戳来源的列。这就是我正在使用的,但当原始数据中的时间戳值之一为 NULL 时,它不起作用。 SELECT LEAST (timestamp_
我试图在我的 mysql 数据库中查询 5 个单独的表,并显示分配给他们的项目最多的 Actor 。表结构如下; item itemid | item | description | brand |
我正在使用 mysql GREATEST()函数从任一列(苹果或桃子)中选择最高的整数值。 +----+------------------+ | id | apples | peaches | +-
选择前 n 个结果,我在这里看到了很多关于如何做到这一点的帖子和精彩文章,但我很难用我的数据集来做到这一点。大多数示例都集中在数据集上,而不需要额外的连接。 我一直在尝试应用 http://www.x
有没有办法从多个列中选择最大和第二大的数字? 例子: Col1 = 0; Col2 = 4; Col3 = 6; Col4 = 3; 我最大的是 6,其次是 4。 我正在尝试实现这样的东西: SELE
我正在尝试在 Snowflake 中使用 GREATEST(),但每当我有空值时,我都会得到 null 而不是所需的结果: select greatest(1,2,null); -- null 这种行
我在 MYSQL 和显然其他数据库引擎中发现有一个“最好的”函数可以使用,例如:great(1, 2, 3, 4),它会返回 4。我需要这个,但我使用的是 IBM 的 DB2 .有没有人知道这样的等效
如何使用 Django 查询获取模型的两个不同 Decimal 字段中的较大者? 例如,如果我有一个模型月份,其中包含名为“实际收入”和“预计收入”的字段,我如何返回较大的值? 我以前使用过 MySQ
在 Haskell 中关于不动点的文本中,经常提到最小和最大不动点。例如。在 Data.Functor.Fixedpoint文档或 here . 最小和最大暗示所涉及类型的顺序(或者仅在固定点上定义它
我正在尝试在 HQL 中找到两个日期中最好的一个。 在 SQL 中,这是有效的: SELECT ( GREATEST(a1.startDate, '2019-10-01T00:00:00Z') ) F
我已经解决了一堆关于使用 mySQL 的 GREATEST() 函数的正确方法的问题,但没有一个问题显示如何将它与列一起使用。 Official Documentation给出手动输入列表的列表。 T
我试图从这部分查询中获得最大值(value): greatest((follette_title.usedbuying_price *1.37) or (amtext.price*1
题目地址:https://leetcode-cn.com/problems/kids-with-the-greatest-number-of-candies/ 题目描述 给你一个数组 candie
我的理解是 GREATEST() 和 LEAST() 不是 SQL 标准的一部分,但很常见。 我在想,有没有办法在 SQL 标准中克隆 GREATEST 的功能? SELECT id, GREATES
我正在努力构建一个 Tableau仪表板,最近刚刚了解了 Tableau v9 中发布的新的详细级别计算。原始数据结构如下: User Workflow Step Time Spe
我的 SQL 生锈了——我有一个简单的要求来计算两列值中较大值的总和: CREATE TABLE [dbo].[Test] ( column1 int NOT NULL, column
我是一名优秀的程序员,十分优秀!