选择查询以连续查找最大日期

Posted

技术标签:

【中文标题】选择查询以连续查找最大日期【英文标题】:select query to find max date in a row 【发布时间】:2015-10-28 08:16:52 【问题描述】:

在sql查询方面需要帮助,我正在使用H2数据库

我连续有 12 个日期(日期与时间),字段名称如 Date_1、Date_2、Date_3... Date_12

想知道哪个有最大日期和时间。必须知道是否存在距离当前时间不到 10 分钟的日期。

可以在上面的sql查询中提供帮助

【问题讨论】:

【参考方案1】:

您可以使用 GREATEST 查找当前行的最大值:

SELECT GREATEST(Date_1, Date_2, Date_3,... ,Date_12) AS Max_date_in_row
FROM your_table;

找出答案:

是否存在距离当前时间不到 10 分钟的日期

SELECT * 
FROM your_table
WHERE GREATEST(Date_1, Date_2, Date_3,... ,Date_12) > DATE_ADD(NOW(), INTERVAL -10 MINUTE);

【讨论】:

其他方向也可以加10分钟差吗? Max_date_in_row 是我应该在 ResultSet 中查看的变量,对吧?对不起,我是 sql 新手!我不知道 H2 数据库中是否允许使用“AS” @Skay Max_date_in_row 只是列的别名。您可以随意命名,例如AS my_column

以上是关于选择查询以连续查找最大日期的主要内容,如果未能解决你的问题,请参考以下文章

选择查询优化

MySQL查询以选择带有日期的记录

在 SQL Server 中查找非连续日期

sql在查询中选择最大日期

SQL在where语句中使用日期范围的选择子查询来确定该日期范围内的最大值

最佳实践 - 基于用户选择构建查询