在使用织梦DEDECMS时,开启了织梦的主栏目、副栏目功能。而副栏目字段在mysql数据库中typeid2是以逗号,分隔栏目id组成字符串。需查询副栏目文章时,心情天空就需要下面的两个方法解决。
测试mysql 数据表 其中一个模型数据
代码如下 | 复制代码 |
INSERT INTO test(pname,pnum) VALUES(‘产品1′,’1,2,4′); INSERT INTO test(pname,pnum) VALUES(‘产品2′,’2,4,7′); INSERT INTO test(pname,pnum) VALUES(‘产品3′,’3,4′); INSERT INTO test(pname,pnum) VALUES(‘产品4′,’1,7,8,9′); INSERT INTO test(pname,pnum) VALUES(‘产品5′,’33,4′); |
方法1、
代码如下 | 复制代码 |
SELECT * FROM test WHERE find_in_set(’3′,pnum) OR find_in_set(’9′,pnum); |
方法2、
代码如下 | 复制代码 |
SELECT * FROM test WHERE pnum REGEXP ‘(3|9)’; |
—————————————————-
PASS:记录
find_in_set()函数返回的所在的位置,如果不存在就返回0
代码如下 | 复制代码 |
SELECT find_in_set(‘e’,'h,e,l,l,o’); |
用in的效果不是很好
代码如下 | 复制代码 |
SELECT * FROM TEST WHERE id in(4,2,3); |
如果想要按照ID为4,2,3这样排序呢?
代码如下 | 复制代码 |
SELECT * FROM TEST WHERE id in(4,2,3) ORDER BY find_in_set(id,’4,2,3′); |
时间: 2024-10-26 11:12:07