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')