我有一个 SQL 数据库表“Helium_Test_Data”,它有多个基于 KeyID 列的条目(KeyID 表示单个测试部分)。我需要查询条目,并且根据最早的创建日期时间(格式示例为 2018-12-29 08:22:11.123),每个 KeyID(部分)只显示一个条目。这是因为同一部分经过多次测试,但第一次阅读是我需要使用的。这是当前尝试的查询:
SELECT mt.*
FROM Helium_Test_Data mt
INNER JOIN
(
SELECT
KeyID,
MIN(DateTime) AS DateTime
FROM Helium_Test_Data
WHERE PSNo='11166565'
GROUP BY KeyID
) t ON mt.KeyID = t.KeyID AND mt.DateTime = t.DateTime
WHERE PSNo='11167197'
AND (mt.DateTime > '2018-12-29 07:00')
AND (mt.DateTime < '2018-12-29 18:00') AND OK=1
ORDER BY KeyId,DateTime
它仅返回表中不存在重复 KeyID 的行,而我需要每个 KeyID 一行(是否重复)。对于重复的,我需要最早的日期。
在此先感谢您的帮助。