我正在尝试进行group_concat,但我只想返回在分组中具有特定值的项目。
select id, name, group_concat(tag_name) as tags
from base_table
left join tags_table on base_tabe.id = tags_table.base_table_id
group by base_table.id
然后我可以得到这样的东西:
id name tags
----------------------------------
1 Some Name 1 tag1,tag2,tag3
2 Some Name 2 tag1,tag4,tag5
3 Some Name 3 tag5
我想将其过滤为只有tag1
作为标记的项目,在这种情况下,我将不再拥有此示例中的第3行。
我唯一能想到的就是使用这样的东西:
having tags like '%tag1%'
然而,这会抓住单词中间的内容,然后将这些内容过滤掉。
答案 0 :(得分:3)
使用find_in_set
函数以逗号分隔文本
Having find_in_set('tag1', tags_column) > 0