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