我有下表:
id time text otheridentifier
-------------------------------------------
1 6 apple 4
2 7 orange 4
3 8 banana 3
4 9 pear 3
5 10 grape 2
我想要做的是选择 3 个最近的记录(按时间降序),它们的otheridentifier
s 是不同的。所以在这种情况下,结果将是id
's: 5、4 和 2。
id
= 3 将被跳过,因为有相同otheridentifier
字段的更新记录。
这是我试图做的:
SELECT * FROM `table` GROUP BY (`otheridentifier`) ORDER BY `time` DESC LIMIT 3
但是,我最终得到了id
= 5, 3和1的行,而不是预期的 5, 4, 2 。
有人能告诉我为什么这个查询不会返回我所期望的吗?我尝试将 ORDER BY 更改为 ASC,但这只是将返回的行重新排列为 1、3、5。