两个变量的最小值/最大值 Hibernate SQL

Posted

技术标签:

【中文标题】两个变量的最小值/最大值 Hibernate SQL【英文标题】:Min/Max of two variables Hibernate SQL 【发布时间】:2016-11-23 11:35:06 【问题描述】:

如何在 hsql 查询语言中选择两个变量中的最小值?

我需要"select ... as x ... as y.... where min(x,y) <= value"之类的东西

min()max() 函数仅适用于列值。

提前致谢。

【问题讨论】:

【参考方案1】:

您可能指的是 LEAST 值:

SELECT LEAST(x , y) FROM MYTABLE
SELECT X, Y FROM MYTABLE WHERE LEAST(X,Y) <= value 
SELECT X, Y FROM MYTABLE WHERE X <= value OR Y <= value /* this is more efficient */

您可以在连续两个变量的 LEAST 值中选择最小值:

SELECT MIN(LEAST(x , y)) FROM MYTABLE

【讨论】:

【参考方案2】:

有时我们只是忽略了做事的简单方法,使它们变得复杂。

查看您的查询,您似乎正在过滤两列值小于某个变量的行。

你可以像这样使用查询:

SELECT... AS x ... AS y.... WHERE x <= value AND y <= value 

【讨论】:

感谢您的回答,是的,这可能是我最初的问题的解决方案,但不幸的是我无法在我的特定场景中应用它。我发布的示例在某种程度上是对该问题的高级视图。没有提供更详细的视图可能是我的错。 @MirceaMan - 你的问题已经解决了,这很重要。另一方面,请花一些时间编辑您的查询并添加缺失的详细信息,以便将来搜索类似问题的用户受益。

以上是关于两个变量的最小值/最大值 Hibernate SQL的主要内容,如果未能解决你的问题,请参考以下文章