假设说,我有两个名为foo
and的表。bar
foo 有列foo_id
,foo_fluff
bar 有列bar_id
,,foo_id
timestamp
我需要一个查询,它将检索表格栏包含的任何 foo_id 的返回一行,并带有最新的时间戳。
因此,如果 bar 有三行,其中两行的 foo_id 为 1,其中 1 的 foo_id 为 2,它将返回 2 行。对于 foo_id 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
SELECT timestamp FROM bar GROUP BY foo_id ORDER BY timestamp DESC
如果要从 foo 表中选择数据,只需在 foo_id 上加入 foo 表