我想在我的结果集上应用不同的过滤器,以便我可以检索过滤器的精确结果,并且没有必要每次这个过滤器都会有一些值,它也可能包含空值,所以ho使用这样的过滤器 下面是我的表格
CREATE TABLE `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(45) DEFAULT NULL,
`url` varchar(45) DEFAULT NULL,
`categoryid` int(11) DEFAULT NULL,
`labelid` int(11) DEFAULT NULL,
`datetime` datetime DEFAULT NULL,
`ispublic` int(11) DEFAULT NULL,
`value` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;
INSERTed VALUES
INSERT INTO `my_schema`.`data`
(
`title`,
`url`,
`categoryid`,
`labelid`,
`datetime`,
`ispublic`,
`value`)
VALUES
('newclip','http://newclip/',1,1,'2014-11-21 10:40:49',1,3.5),
('newclip url','http://newclip/fisrt/',1,3,'2014-12-21 10:40:49',0,3),
('newclip123','http://newclip123/',2,1,'2014-11-20 10:40:50',1,3.5),
('clip','http://clip/',4,2,'2014-10-21 1:40:49',0,3.5),
('new','http://new/',5,3,'2014-11-25 10:50:49',0,2),
('music','http://newclip/mucis',1,2,'2014-12-21 10:40:49',1,3.5),
('newclip','http://newclip/',4,6,'2014-11-28 10:40:49',0,5),
('newclip','http://newclip/',6,7,'2014-11-21 10:40:49',1,3.5),
('newclip url','http://newclip/fisrt/',1,2,'2014-12-21 10:40:49',0,3),
('newclip123','http://newclip123/',2,1,'2014-11-20 10:40:50',1,3.5),
('clip','http://clip/',1,2,'2014-10-21 1:40:49',0,3.5),
('new','http://new/',1,2,'2014-11-25 10:50:49',0,2),
('music','http://newclip/movie',1,2,'2014-12-21 10:40:49',1,3.5),
('newclip','http://newclip/',1,2,'2014-11-28 10:40:49',0,5)
搜索特定记录的查询仅应用于标题和网址,我想检索标题或网址中包含“newclip”的所有记录。
从 my_schema.data 中选择*,其中标题如“%newclip%”或网址如“%newclip%”;
使用上面的查询,我得到了 url 或标题中包含 newclip 的所有记录
现在我想在此结果集上应用过滤器,可以使用categoryid、labelid、datetime、ispublic、values等过滤器对其应用。
如何过滤这样的结果集, 任何帮助将不胜感激,谢谢
最佳答案
在外部查询中包含这些过滤器,这些过滤器将应用于内部查询获得的结果集。类似的东西
select * from
(
SELECT * FROM my_schema.data
WHERE title LIKE '%newclip%'
OR url LIKE '%newclip%'
) tab
where categoryid = 3
or labelid = 4;
关于mysql - 如何对 mysql 结果集应用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27142191/