Cześć,
jakiś czas temu stworzyłem stronę gdzie ludzie mogą oddawać swoje głosy na zdjęcia konkursowe.
Każdy wizytor może oddać maksymalnie po jednym głosie na zgłoszenie w ciągu 24h.
Problem w tym, że spora ilość osób oszukiwała, teraz chcę wyciągnąć te rekordy dla których dany IP oddał więcej niż 1 głos na dane zgłoszenie w ciągu 24h.
Kod tabeli:
CREATE TABLE `wp_acfsrf` ( `acfsrf_id` bigint(20) NOT NULL AUTO_INCREMENT, `field_key` varchar(20) COLLATE utf8_unicode_ci NOT NULL, `meta_id` varchar(256) COLLATE utf8_unicode_ci NOT NULL, `rating` int(4) NOT NULL, `timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_id` int(10) NOT NULL DEFAULT '0', `user_ip` varchar(40) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', `user_cookie` varchar(200) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', UNIQUE KEY `acfsrf_id` (`acfsrf_id`) ) ENGINE=InnoDB AUTO_INCREMENT=5932 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Moje zapytanie SQLowe:
select `acfsrf_id` from wp_acfsrf group by user_ip, day(timestamp), meta_id having count(*) > 1
Jak wyciągnąć te IDk zgłoszenia dla których dany adres IP oddał więcej niż 1 głos w ciągu 24h?