【问题标题】:MySQL: Select min date with max hourMySQL:选择最小日期和最大小时
【发布时间】:2015-03-25 18:35:24
【问题描述】:

任何人都知道如何在 mysql 中选择 min date,但要使用 max hour of day ,例如: 我有一组日期:

[2015-01-02 00:00:00, 2015-01-03 09:00:00, 2015-01-02 19:00:00, 2015-02-01 14:00:00] 

我需要得到2015-01-02 19:00:00

【问题讨论】:

    标签: mysql database


    【解决方案1】:
    SELECT MAX(myColumn) FROM myTable WHERE myColumn < (
      SELECT DATE(MIN(myColumn)) + INTERVAL 1 DAY FROM myTable
    )
    

    【讨论】:

    • 很好的解决方案。这可以充分利用索引。
    【解决方案2】:
    select min(date(datetime_col)) + interval max(hour(datetime_col)) hour
    from your_table
    

    【讨论】:

    • 哇,您从提供的信息中推断出所有这些?
    • 关闭但不适合。间隔 max(hour(datetime_col)) 返回所有日期的最大小时数
    【解决方案3】:

    您可以使用order bylimit

    select t.*
    from table t
    order by date(col) asc, col desc
    limit 1;
    

    【讨论】:

    • @eggyal 。 . .是的,我看到了。很好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2014-06-26
    • 2020-05-31
    • 2019-05-27
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多