【发布时间】:2010-11-27 09:03:13
【问题描述】:
假设我有一个包含两列 X 和 Y 的表。 我想通过休眠运行以下查询:
SELECT X*X + Y*Y AS Distance, POINTS.* from POINTS
WHERE X > 0
AND Y > 0
HAVING Distance < 50
我如何通过休眠实现它?能否提供代码示例?
编辑 - This question 似乎密切相关。我没有将这个作为重复项关闭的唯一原因是因为它提供了一个更简单的用例(没有 GROUP BY)。
【问题讨论】:
-
该语法无效。 SQL 不允许 HAVING 不使用 GROUP BY 进行分组
-
@a_horse - 它不在 mysql 中。添加了标签。此外,您可以根据需要将我的查询转化为全局有效的查询。
-
标准方法是在 SELECT 中使用派生表,并在外部 SELECT 中为列别名应用 WHERE 条件。
标签: java sql mysql database hibernate