我有一个查询,它连接了几个表并产生了很多行,在这种情况下,我只希望每个用户看到一行。我已经通过 user.id 使用 group 解决了“只有一个用户”的问题,但是,我注意到现在对于每个用户,我从连接表中获取表示第一个条目(而不是最后一个条目)的值。
所以换句话说
user:
id | phone
item:
id | user_id | timestamp
我的意图是加入这些表并选择最新的项目(基于时间戳或 item.id desc),但每个用户只能获得一个项目(而不是查看每个用户拥有的所有项目)。 group by user.id
解决了每个用户只给我一个项目的问题,但他们总是出现第一个 item.id 最低的项目,而我想要最近的一个。
有没有更好的方法来实现这一点......我最初只是在思考,distinct
但这似乎并没有奏效。
TIA
[编辑] 针对乔斯林的以下问题:
select user.id, item.timestamp from item join user on user.id = item.user_id order by user.id