Mam system listy obserwowanych, które zakodowałem, w przeglądzie listy obserwowanych użytkowników, zobaczyliby listę rekordów, jednak lista pokazuje duplikaty, gdy w bazie danych pokazuje tylko dokładna, prawidłowa liczba.GROUP BY nie usuwa duplikatów
Próbowałem GROUP BY watch.watch_id
, GROUP BY rec.record_id
, żaden z typów grupy, których próbowałem, nie usunął duplikatów. Nie jestem pewien, co robię źle.
SELECT watch.watch_date,
rec.street_number,
rec.street_name,
rec.city,
rec.state,
rec.country,
usr.username
FROM
(
watchlist watch
LEFT OUTER JOIN records rec ON rec.record_id = watch.record_id
LEFT OUTER JOIN members usr ON rec.user_id = usr.user_id
)
WHERE watch.user_id = 1
GROUP BY watch.watch_id
LIMIT 0, 25
na liście obserwowanych tabela wygląda następująco:
+----------+---------+-----------+------------+
| watch_id | user_id | record_id | watch_date |
+----------+---------+-----------+------------+
| 13 | 1 | 22 | 1314038274 |
| 14 | 1 | 25 | 1314038995 |
+----------+---------+-----------+------------+
Przepraszam, czy możesz wyjaśnić nieco więcej przy agregowaniu. – MacMac
Widzę, jedno pytanie, jak można wybrać kolumny z 'DISTINCT' zamiast robić' DISTINCT * '. – MacMac
Ponownie przeczytaj. W mojej odpowiedzi jest już przykład. – Malvolio