我正在尝试创建一个SQL命令,该命令可以对我列出的数据库中的连接字符串进行排序。
颜色:蓝色,红色,绿色,黄色
SELECT * FROM `shoes` WHERE CONCAT(',',color,',') LIKE '%,blue,red%'
如何过滤数据,提供红色或蓝色或红色和蓝色等的鞋子?
答案 0 :(得分:2)
您应该修复数据结构。在关系数据库中存储数据库中的事物列表的正确方法是使用表。特别是,你需要一个交汇点故事。
尽管如此,有时人们会遇到不合标准的设计。在MySQL中,您可以使用find_in_set()
:
where find_in_set('blue', colors) > 0 and find_in_set('red', colors) > 0
这将获得显示红色和蓝色的行。