MYSQL列の 2 つの値に基づいて重複した値を比較したいデータベースがあります。例えば
データベース
フィールド_ワン | field_two | field_three ------------------------------------ ああ | 123 | いいえ1 bbb | 456 | いいえ1 ああ | 123 | no2 ccc | 456 | no3 ああ | 123 | no3
これらの結果を返したい
フィールド_ワン | field_two | field_three ------------------------------------ ああ | 123 | いいえ1 ああ | 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')