mySQL 查询中的两个变量中的较大者

Posted

技术标签:

【中文标题】mySQL 查询中的两个变量中的较大者【英文标题】:Greater of two variables in mySQL query 【发布时间】:2012-06-20 15:27:01 【问题描述】:

我想编写一个返回单个日期值的查询,该值是两列中最新的。

所以,如果我有一个值 a、b、date1、date2 的表,我想要类似的东西:

SELECT a, b, (Greater of date1 and date2) as date FROM...

这可能吗?

【问题讨论】:

这里似乎有两个可靠的答案,一个比另一个更好吗?它们都可以使用时间戳吗? 【参考方案1】:

你可以使用GREATEST函数。

SELECT a, b, GREATEST(date1,date2) as date FROM...

【讨论】:

【参考方案2】:

您可以使用IF statement

SELECT a, b, IF(date1>date2, date1, date2) as date 

【讨论】:

【参考方案3】:

只有我们IF 函数...

SELECT a, b, 
    IF (date1 > date2, date1, date2) AS 'date'
FROM yourtable

...或与GREATEST比较:

SELECT a, b, 
    GREATEST(date1, date2) AS 'date'
FROM yourtable

【讨论】:

以上是关于mySQL 查询中的两个变量中的较大者的主要内容,如果未能解决你的问题,请参考以下文章

Rails - 演示者中的 Helper Singleton 和 Rails Route Helpers

Mysql:一个查询中的“SET @Variable = 0”[Java]

MySQL 查询调优 - 为啥使用变量中的值比使用文字慢得多?

我应该以MVP模式将我的视图投射到iOS上的演示者中的UIViewController吗?

如何在python中的mysql查询中使用动态变量

查询中的 MySQL 循环变量