SQL表子查询

时间:2009-02-02 21:10:58

标签: sql mysql database subquery

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

foo有列foo_idfoo_fluff 栏中包含bar_idfoo_idtimestamp

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

因此,如果bar有三行,其中两行的foo_id为1,其中一行的foo_id为2,则返回2行。对于foo_id 1,它将返回具有两行更大时间戳的行。

2 个答案:

答案 0 :(得分:2)

我认为这就是你要找的东西(除非它必须是子查询而不是连接)

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

答案 1 :(得分:0)

SELECT timestamp FROM bar GROUP BY foo_id ORDER BY timestamp DESC

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