我在为这个问题找到答案时遇到了一些麻烦,所以如果它在其他地方,我深表歉意。
我有一个表'dbo.MileageImport',它具有以下布局,我拉它来查找重复条目:
|KEY | DATA |
---------------------
|V9864653 | 180288 |
|V9864653 | 22189 |
|V9864811 | 11464 |
|V9864811 | 12688 |
我遇到的麻烦是当我在 DB2 环境中运行以下 SQL 时:
SELECT KEY, MIN(DATA)
FROM dbo.MileageImport
GROUP BY KEY
HAVING (COUNT(KEY)>1);
它最终会提取以下数据:
|KEY | DATA |
---------------------
|V9864811 | 11464 |
|V9864653 | 180288 |
出于某种原因,它会拉取 V9864811 的 MIN 值,而不是 V9864653。如果我将其反转并放入 MAX 而不是 MIN,它会拉取相反的值。
我在这里遗漏了什么,所以我可以只为重复的 KEY 记录提取 MIN DATA 值,还是有另一种方法可以做到这一点?来自此数据的报告每月都在变化,因此可能会有不同的键最终被重复,我需要更正。最终,我将其转换为 DELETE 语句,以删除两个(或更多)重复里程条目中的较低者。