当一个字段需要同时等于多个值的时候,用and直接连不会有数据查出。 所以需要一些特殊处理。 代码如下: select * from news_extinfo where (extid = 1 and optionvalue = 0) or (extid = 2 and optionvalue = 0 ) or (extid = 3 and optionvalue = 0 ) group by newsid having count(*)=3 此处 count(*) = 3 表示的意思是 在查询的结果中,只查出按group 分组之后,每个组的有3条数据的结果集