由于刷新表单请求的用户错误,我在数据库中继承了多个重复的行。该概念是一项慈善活动的实时跟踪器,其中每小时都会更新一次距离。由于他们尝试在输入新距离后重新刷新管理页面,因此重新提交了很多次。
我试图将我的SQL查询更改为仅提取DISTINCT
行。这适用于total_distance
的单列,但是,我需要将主键id
与其一起拉出。
如果我尝试:
SELECT DISTINCT total_distance, id
FROM ptsd_cycle
ORDER BY total_distance DESC
我仍然得到重复的条目,因为ID导致它们是不同的。如何仅查询非重复行?
最佳答案
尝试对距离进行分组,因为您说的是重复的,并获得id行的最小值,这将为您提供具有该距离值的第一条记录。
SELECT MIN(id) AS id, total_distance
FROM ptsd_cycle
GROUP BY total_distance
ORDER BY total_distance DESC
关于mysql - 如何查询非重复行但保留主键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56747790/