MySQL-mysql查找没有匹配到多个关键字的数据

MySQL-mysql查找没有匹配到多个关键字的数据

清晨说ぺ晚安 发布于 2017-07-17 字数 574 浏览 1123 回复 2

有用户资料表,表结构如下

+-----+-------+---------------------------------+
| uid | uname | hobby |
+-----+-------+---------------------------------+
| 1 | AAAA | 音乐,电影,网络,篮球,阅读,乒乓球 |
| 2 | BBBB | 音乐,阅读,乒乓球,发呆,围棋,参禅 |
| 3 | CCCC | 交友,乒乓球 |
| 4 | DDDD | 台球,网络,看书,旅游 |
| 5 | EEEE | 音乐,发呆,下围棋,参禅 |
+-----+-------+---------------------------------+

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-09-17 2 楼

表结构里, hobby字段是违反第一范式的, 尤其还需要对具体的hobby做查询.

我觉得应该重构表结构, 增加hobby表和user_hobby表

想挽留 2017-07-25 1 楼

试试下面sql

select * from tablename where concat(',',hobby,',') not regexp concat(',(',replace('电影,音乐,看书',',','|'),'),');