MYSQL根据标签查询数据

场景条件:

1.根据用户id查询到该id绑定的标签(可能是多个标签也可能是单个标签)

2.根据标签的id查询到绑定标签id的信息表

SELECT labelID FROM LRrelation WHERE relationID = 1

MYSQL根据标签查询数据_第1张图片

 

SELECT * FROM  notification

MYSQL根据标签查询数据_第2张图片

 

SELECT * FROM  notification WHERE CONCAT(',',residentTag,',') REGEXP (SELECT GROUP_CONCAT(labelID SEPARATOR '|') FROM LRrelation WHERE relationID = 1)

MYSQL根据标签查询数据_第3张图片

 

GROUP_CONCAT函数用于将GROUP BY产生的同一个分组中的值连接起来,返回一个字符串结果

GROUP_CONCAT函数首先根据GROUP BY指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔,由函数参数(字段名)决定要返回的列

语法结构

GROUP_CONCAT([DISTINCT] 要连接的字段 [ORDER BY 排序字段 ASC/DESC] [SEPARATOR '分隔符'])
说明:

(1) 使用DISTINCT可以排除重复值

(2) 如果需要对结果中的值进行排序,可以使用ORDER BY子句

(3) SEPARATOR '分隔符'是一个字符串值,默认为逗号

GROUP_CONCAT函数的使用方法可参考[Mysql] GROUP_CONCAT函数_山茶花开时。的博客-CSDN博客

 

你可能感兴趣的:(mysql,sql,数据库)