У меня возникли проблемы с поиском ответа на этот вопрос, поэтому я прошу прощения, если он был где-то еще.
У меня есть таблица 'dbo.M‹Import', которая имеет следующий макет, который я вытащил, чтобы найти повторяющиеся записи:
|KEY | DATA |
---------------------
|V9864653 | 180288 |
|V9864653 | 22189 |
|V9864811 | 11464 |
|V9864811 | 12688 |
У меня возникают проблемы, когда я запускаю следующий SQLв среде DB2:
SELECT KEY, MIN(DATA)
FROM dbo.MileageImport
GROUP BY KEY
HAVING (COUNT(KEY)>1);
В итоге получается получение следующих данных:
|KEY | DATA |
---------------------
|V9864811 | 11464 |
|V9864653 | 180288 |
По какой-то причине он получает значение MIN для V9864811, но не V9864653.Если я переверну это и поставлю MAX вместо MIN, то получится противоположное значение.
Есть ли что-то, чего мне здесь не хватает, чтобы я мог получить значение MIN DATA только для дублированных записей KEY, или есть другой способ сделать это?Отчет, в котором эти данные поступают от месяца к месяцу, поэтому могут быть дубликаты ключей, которые мне нужно исправить.В конечном итоге я превращаю это в оператор DELETE, чтобы удалить нижнюю из двух (или более) дублированных записей о пробеге.