1

当访客投票时,我存储信息answer_idip

我的网站访问者在多项民意调查中投票。

我想知道例如投票的访问者( answer_id (767) )他们还投票给什么。基于ip。可以说 answer_id=767

表:poll_stat

`id` int(11) NOT NULL auto_increment,
`question_id` int(11) NOT NULL,
`answer_id` int(11) NOT NULL,
`ip` varchar(255) NOT NULL,
`date` date NOT NULL,
`country` text NOT NULL,
`time` int(11) NOT NULL,
`age` int(11) NOT NULL,
4

1 回答 1

1

我认为这对你有用。

select ip, question_id
from poll_stat
where ip in (select ip from poll_stat where answer_id = 767 group by ip)
and answer_id <> 767

编辑

嗯...您可能会检查是否INDEX在 ip 列上创建了一个。如果不是这样,也许它不喜欢 IN 子句。我将重写为一个连接:

select ip, question_id
from poll_stat ps1
inner join (select ip from poll_stat where answer_id = 767 group by ip) ps2
on ps1.ip = ps2.ip
where answer_id <> 767
于 2012-09-02T00:20:32.437 回答