当处理每个标识符和时间戳值都包含多行的数据时,就需要按最小值对数据进行分组,同时选择唯一行。这确保每个标识符仅以其最早出现的时间表示一次。
在提供的示例表中,目标是为每个id提取具有最小record_date
的行。但是,表中包含重复的日期,这使得使用传统方法难以实现此目标。
可以使用相关子查询和内部联接来解决此问题:
<code class="language-sql">SELECT mt.* FROM MyTable mt INNER JOIN ( SELECT id, MIN(record_date) AS MinDate FROM MyTable GROUP BY id ) t ON mt.id = t.id AND mt.record_date = t.MinDate</code>
此方法包括:
record_date
。id
和record_date
字段将主表(MyTable
)与子查询连接。结果表仅包含每个id的最小record_date
的行。此方法可防止重复行出现在输出中。
以上是如何选择每个 ID 和时间戳具有最小值的不同行?的详细内容。更多信息请关注PHP中文网其他相关文章!