junk1114
@junk1114
Web-программист

MySQL, запрос, одинаковые значения?

Есть таблица 'orders', вида:
id | coords
------------
1 | 15
2 | 15
3 | 1
4 | 15
5 | 8
Нужно вывести строки с одинаковыми значениями и id, т.е в этом случае:
1 | 15
2 | 15
4 | 15
При использовании GROUP BY, id схлопываются
  • Вопрос задан
  • 692 просмотра
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
select id, coords from orders join (
select coords from orders group by coords having count(0)>1
) nonuniqcoords using(coords)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
gbg
@gbg
Любые ответы на любые вопросы
@IceJOKER
Web/Android developer
Может не совсем правильное решение, но все же:
select t1.* from table t1, table t2 where t1.id != t2.id AND t1.coords = t2.coords


Другие решения:
stackoverflow.com/questions/688549/finding-duplica...
stackoverflow.com/questions/854128/find-duplicate-...
Ответ написан
Комментировать
@xibir
Без 'group by' и использования агрегатных функций (должно выполняться быстрее):

select * from orders t1 where exists
(select 1 from orders t2 where t1.id != t2.id and t1.coords = t2.coords);

В выше приведённых ссылках на stackoverflow есть похожий ответ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы