【问题标题】:SQL tables subquerySQL 表子查询
【发布时间】:2009-02-02 21:10:57
【问题描述】:

假设我有两个名为foobar 的表。

foo 有列 foo_id, foo_fluff 栏有列bar_idfoo_idtimestamp

我需要一个查询,该查询将为表格栏包含的任何 foo_id 返回一行,并带有最新的时间戳。

所以,如果 bar 有三行,其中两行的 foo_id 为 1,其中 1 的 foo_id 为 2,它将返回 2 行。对于 foo_id 1,它将返回两行中时间戳较大的行。

【问题讨论】:

    标签: sql mysql database subquery


    【解决方案1】:

    我认为这就是您要寻找的(除非它必须是子查询而不是联接)

    select max(bar.timestamp), foo.foo_fluff 
     from foo
     inner join bar
              on foo.foo_id = bar.foo_id
     group by foo.foo_fluff
    

    【讨论】:

      【解决方案2】:
      SELECT timestamp FROM bar GROUP BY foo_id ORDER BY timestamp DESC
      

      如果要从 foo 表中选择数据,只需在 foo_id 上加入 foo 表

      【讨论】:

        猜你喜欢
        • 2021-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-17
        • 2017-01-10
        • 1970-01-01
        相关资源
        最近更新 更多