Я не уверен, что вы подразумеваете под разрушением целостности записи, но нет ничего плохого в вызове функций MIN или MAX. Это очень распространенный вид запроса.
Не следует предполагать, что все значения в строке в вашем наборе результатов будут взяты из той же строки в исходной таблице. Значения могут приходить из разных строк. Например, если данные в вашей таблице таковы:
account phone chargeid locationid
123 456 10 30
123 456 40 20
Тогда результат будет таким:
account phone MIN(chargeid) MIN(locationid)
123 456 10 20
«10» происходит из первого ряда, а «20» - из второго ряда.
Кроме того, использование вами MIN на телефоне кажется ненужным. Вам просто нужно выбрать это поле, так как оно является частью группы:
SELECT account, phone, MIN(chargeid), MIN(locationid)
FROM import1
GROUP BY account, phone