我有一个包含 ID、时间和文本列的数据库表。ID 不唯一。我正在尝试构建一个查询,上面写着“对于每个不同的 ID,给我时间是 T 之前的最大值的行”。第二部分很容易使用 ORDER BY DESC LIMIT 1 WHERE time < T,但我不知道如何确保我得到所有 ID 的覆盖。
举个例子:
ID,time,text
1,10,"hello"
1,20,"world"
2,10,"foo"
3,10,"bar"
4,50,"blah"
如果我用时间 25 搜索,我想要:
1,20,"world"
2,10,"foo"
3,10,"bar"
我可以通过搜索 DISTINCT ID 然后对每个 ID 进行搜索来执行多个查询,但我希望有一个更有效的复合查询表单。