У меня есть база данных MYSQL
, в которой я хотел бы сравнить повторяющиеся значения на основе двух значений в столбце. Например
База данных
field_one | field_two | field_three ------------------------------------ aaa | 123 | no1 bbb | 456 | no1 aaa | 123 | no2 ccc | 456 | no3 aaa | 123 | no3
Я хотел бы вернуть эти результаты
field_one | field_two | field_three ------------------------------------ aaa | 123 | no1 aaa | 123 | no2
Вот query
, который я использовал, но не знаю, как получить желаемый результат. Когда я запускаю query
в phpMyAdmin
, мой браузер просто зависает. Моя база данных тоже большая.
SELECT * FROM
table_name
WHERE field_three
IN (SELECT field_one
, field_two
FROM table_name
WHERE field_three
IN ('no1', 'no2') HAVING COUNT (*)> 1)
Спасибо
РЕШЕНО
Я только что изменил WHERE
@Gordon Linoff с query
.
select t.*
from table_name t join
(select field_one, field_two
from table_name t
group by field_one, field_two
having count(*) = 2 -- or do you mean >= 2?
) tsum
on t.field_one = tsum.field_one and t.field_two = tsum.field_two WHERE field3 IN ('no1', 'no2')