【问题标题】:Max of a Date field into another field in Postgresql一个日期字段的最大值到 Postgresql 中的另一个字段
【发布时间】:2016-10-04 22:46:06
【问题描述】:

我有一个 postgresql 表,其中我有几个字段,例如 id 和 date。我需要找到该 ID 的最大日期并将其显示到所有 ID 的新字段中。 SQLFiddle 站点没有响应,所以我在 excel 中有一个示例。这是数据的屏幕截图和表格的输出。

【问题讨论】:

    标签: sql postgresql date select max


    【解决方案1】:

    这样的事情可能会奏效:

    WITH maxdts AS (
      SELECT id, max(dt) maxdt FROM table GROUP BY id
    )
    SELECT id, date, maxdt FROM table t, maxdts m WHERE t.id = m.id;
    

    请记住,如果没有更多信息,这可能是一个非常低效的查询,但它会为您提供所需的信息。

    【讨论】:

      【解决方案2】:

      您可以使用max 的窗口变体:

      SELECT id, date, MAX(date) OVER (PARTITION BY id)
      FROM   mytable
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-18
        相关资源
        最近更新 更多