如何为指定列选择具有不同值的 3 个最新记录
为给定表选择最新记录是数据库中的常见操作。但是,当您想要确保特定列的值不同并消除重复项时,它可能会变得更加复杂。此任务需要更细致的方法。
在给定场景中,用户尝试从表中选择三个最新记录,其中 otheridentifier 列中的值不同。最初尝试使用 SELECT * FROM table GROUP BY (otheridentifier) ORDER BY time DESC LIMIT 3 未能产生所需的结果,因为分组优先于 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
此查询通过执行以下操作来运行步骤:
使用这种方法,用户可以有效地选择 otheridentifier 列具有不同值的三个最新记录,从而产生所需的结果。
以上是如何选择特定列中具有唯一值的最近 3 条记录?的详细内容。更多信息请关注PHP中文网其他相关文章!