由于刷新表单请求的用户错误,我在数据库中继承了多个重复的行。该概念是一项慈善活动的实时跟踪器,其中每小时都会更新一次距离。由于他们尝试在输入新距离后重新刷新管理页面,因此重新提交了很多次。

我试图将我的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/

10-14 13:36
查看更多