Как запросить не повторяющиеся строки, но сохранить первичный ключ - PullRequest
0 голосов
/ 25 июня 2019

Из-за ошибки пользователя при обновлении запроса формы я унаследовал несколько повторяющихся строк в моей базе данных.Концепция представляет собой живой трекер для благотворительной акции, где каждый час обновляется расстояние.Поскольку они пытались обновить страницу администратора после ввода нового расстояния, чтобы вернуться на нее, она повторно отправляла ее несколько раз.

Я пытался изменить свой запрос SQL, чтобы вытащить только DISTINCT строки.Это работает для одного столбца total_distance, однако мне нужно извлечь первичный ключ id с ним.

Если я попытаюсь:

SELECT DISTINCT total_distance, id
FROM ptsd_cycle
ORDER BY total_distance DESC

, я все еще получаюповторяющиеся записи, поскольку идентификаторы делают их отличными.Как я могу запросить только не повторяющиеся строки?

1 Ответ

2 голосов
/ 25 июня 2019

Попробуйте выполнить группировку по расстоянию, как вы говорите, он дублирован, и получите минимум строки идентификатора, которая даст вам первую запись с этим значением расстояния.

SELECT MIN(id) AS id, total_distance 
FROM ptsd_cycle 
GROUP BY total_distance 
ORDER BY total_distance DESC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...