选择具有不同值的最新记录:修订方法
提出的问题涉及从基于表的表中检索三个最新记录在时间列上,附加条件是这些记录必须在另一列(称为 otheridentifier)中具有不同的值。为此,需要多方面的 SQL 查询。
原始查询的缺点
由于 SQL 中固有的操作顺序,最初尝试的查询遇到了限制。分组发生在排序之前,这导致返回不正确的数据。
修订后的查询
为了解决这个问题,一个更复杂的查询是必需:
SELECT * FROM `table` WHERE `id` = ( SELECT `id` FROM `table` as `alt` WHERE `alt`.`otheridentifier` = `table`.`otheridentifier` ORDER BY `time` DESC LIMIT 1 ) ORDER BY `time` DESC LIMIT 3
解释:
以上是如何选择另一列中具有唯一值的最近 3 条记录?的详细内容。更多信息请关注PHP中文网其他相关文章!