首页 > 解决方案 > 如何从相似行的表中选择最旧的行?

问题描述

我有一张桌子。表具有 id、name、color、product_id 的结构。

并且该表有多个具有相同product_id 的行。

使用 PHP 文件中的 SQL 查询 - 我只想选择一个最旧的行。(添加到当前表的第一个)。

我应该使用或处理什么查询?

谢谢!

标签: phpmysqlsql

解决方案


一种方法是相关子查询:

select t.*
from t
where t.id = (select min(t2.id)
              from t t2
              where t2.product_id = t.product_id
             );

这假设id随着每次插入而递增。如果没有,您将无法知道“最旧”行是什么。SQL 表表示无序集,因此没有“最旧”行,除非列包含该信息。


推荐阅读