CREATE TABLE `sc_proxy` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Ip` varchar(255) CHARACTER SET utf8 NOT NULL,
`Country` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
`Used` int(11) DEFAULT '0',
`Disabled` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=20001 DEFAULT CHARSET=latin1;
CREATE TABLE `sc_proxy_request_log` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`IdSite` int(11) NOT NULL,
`IpProxy` varchar(255) CHARACTER SET utf8 NOT NULL,
`IdProxy` int(11) DEFAULT NULL,
`DateTimeRequest` datetime NOT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=772787 DEFAULT CHARSET=latin1;
CREATE INDEX `sc_proxy_request_log_ix` ON `sc_proxy_request_log` (`IdSite`);
EXPLAIN
SELECT B.Id AS IdProxy -- , B.Ip, B.Country
FROM sc_proxy B
LEFT JOIN sc_proxy_request_log C ON B.Ip = C.IpProxy
WHERE C.IdSite = 11
GROUP BY B.Id
HAVING COUNT(*) <= 3
ORDER BY B.Id DESC
LIMIT 1;