【问题标题】:SQL: Select most recent date for each categorySQL:为每个类别选择最近的日期
【发布时间】:2011-10-04 13:35:05
【问题描述】:

我正在从数据库中提取数据,其中一个表包含两列共同标识一个位置,另一列包含每次服务的日期。是否可以编写一个 SQL 查询,以便我获得每个位置服务的最近时间?

如果我的原始数据如下所示:

category_a  category_b  date
       1           a     1/1/01
       1           a     2/2/02
       1           b     1/2/01
       1           b     2/3/02
       2           a     1/3/01
       2           a     2/4/02
       2           b     1/4/01
       2           b     2/5/02

那么查询将返回:

category_a  category_b  date
       1           a     2/2/02
       1           b     2/3/02
       2           a     2/4/02
       2           b     2/5/02

如果数据库的创建方式是将类别组合存储在单独的表中,这将很容易做到。但是,我不控制此数据库,因此无法对其进行更改。

【问题讨论】:

  • 为什么这个问题有(-1)?
  • 我也想知道。我不是 SQL 专家,但我认为我很好地解释了我的问题......
  • 也许你在另一个帖子上惹恼了某人,他们通过在这里叮你来作为报复。我以前也遇到过这种情况。

标签: sql


【解决方案1】:

试试

select category_a, category_b, max(date) as last_update from table group by category_a, category_b

【讨论】:

    【解决方案2】:

    select category_a, category_b, max(date) from tbl group by category_a,category_b;

    【讨论】:

      【解决方案3】:
      SELECT
          category_a,
          category_b,
          MAX(date)
      FROM
          Some_Unnamed_Table
      GROUP BY
          category_a,
          category_b
      ORDER BY
          category_a,
          category_b
      

      我当然不介意尽我所能帮助别人,否则我不会出现在这个网站上,但是在发帖之前你真的搜索过这个问题的答案吗?

      【讨论】:

      • 我做到了。不幸的是,我无法用谷歌的方式来解释这一点。事实上,在我说“去死吧,SO 上的某个人知道如何回答这个问题”之前,我读了 15 分钟关于 CASE 的陈述。我非常感谢您的帮助。
      • 明白。很高兴我能提供帮助。
      【解决方案4】:

      这是一个简单的“分组依据”,使用“最近”日期是“最高值”或max(),日期这一事实

      select category_a, category_b, max(date)
      from mytable
      group by category_a, category_b
      order by category_a, category_b -- The ORDER BY is optional, but the example data suggests it's needed
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-06
        • 1970-01-01
        • 2017-11-22
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        • 2021-02-25
        相关资源
        最近更新 更多