-1

次の MySQL テーブルで重複するエントリを見つけるにはどうすればよいですか? 私の懸念は、テーブルのサイズが 500 MB であり、拡大していることです。

CREATE TABLE `phone_observations` (
`email_address` varchar(256) NOT NULL,
`phone_number` varchar(64) NOT NULL,
`phone_type` varchar(16) NOT NULL DEFAULT 'unknown',
`unix_time` int(10) unsigned NOT NULL,
`guid` int(10) unsigned NOT NULL,
`spammy` tinyint(1) NOT NULL DEFAULT '0',
KEY `phone_observations_phone_number` (`phone_number`),
KEY `phone_numbers_phone_type` (`phone_type`),
KEY `idx_spam` (`spammy`),
KEY `idx_guid_mail_time` (`guid`,`email_address`,`unix_time`)
`unique_phone_observations` (`email_address`,`phone_number`,`unix_time`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

どこから始めればよいかわかりません。

4

1 に答える 1

2

次のようなものを使用できます。

SELECT COUNT(*) AS `c`, `email_address`, `phone_number`, ... /* list all your columns here */
FROM `phone_observations`
GROUP BY `email_address`, `phone_number`, ... /* list all your columns here */
HAVING `c`>1
于 2012-10-22T12:03:48.330 に答える