更多>>数据库 Blog
来源:一度好 时间:2021-09-10 阅读:5655
本文主要讲述了,当一篇文章属于多个分类时,如何根据指定的分类,查出此分类下所有文章的问题。用 MySQL 自带函数 find_in_set 则能很好的解决这一问题。
在实际使用中,我们经常会涉及到一篇文章对应多个分类的情况,那么在前端使用中,如何查询某个分类下的文章呢?本文将告诉你解决方案。
首先我们准备一个文章表,表名和表字段如下。
表名:my_arc
表字段:
arc_id 文章ID,主键自增
arc_name 文章标题
arc_cate 文章所属分类,若有多个,以英文 , 相隔,如 3,6,9
表中数据,如图所示:
接下来,我们就可以用 MySQL 提供的 find_in_set 函数,进行数据的查询了。
find_in_set 用法:
find_in_set(参数一,参数二)
参数说明:
参数一:想要查询的分类值,如 3
参数二:文章表中的分类所存储的字段,如 arc_cate
需求一:查询 cate = 3 的记录
代码如下:
# 查询 cate = 3 的记录 SELECT * FROM `my_arc` where find_in_set(3,arc_cate);
执行结果如下:
需求二:查询 cate = 1 的记录
代码如下:
# 查询 cate = 1 的记录 SELECT * FROM `my_arc` where find_in_set(1,arc_cate);
执行结果如下:
需求三:查询 cate = 1 或 cate = 3 的记录
代码如下:
# 查询 cate = 1 or cate = 3 的记录 SELECT * FROM `my_arc` where find_in_set(1,arc_cate) or find_in_set(3,arc_cate);
执行结果如下:
需求四:查询 cate = 1 并且 cate = 3 的记录
代码如下:
# 查询 cate = 1 and cate = 3 的记录 SELECT * FROM `my_arc` where find_in_set(1,arc_cate) and find_in_set(3,arc_cate);
执行结果如下:
评论列表 |
暂时没有相关记录
|
发表评论