MySql过滤和分组

MySql过滤和分组,mysql,Mysql,我无法从关系表中筛选数据。查询是连接的一部分,但我仍停留在基本部分 如果发现该条件,我需要删除具有特定id的所有结果 查询类似于: 从颜色中选择*颜色!='红色“按id分组” 返回1,2,3,5 我只需要返回2,3,5 我不确定使用什么mysql命令 select * from colors group by id having not group_concat(color) LIKE "%red%" 应该工作(未测试) 但是有许多id具有相同的值是很奇怪的…选择group_concat(颜色

我无法从关系表中筛选数据。查询是连接的一部分,但我仍停留在基本部分

如果发现该条件,我需要删除具有特定id的所有结果

查询类似于:

从颜色中选择*颜色!='红色“按id分组”

返回1,2,3,5

我只需要返回2,3,5

我不确定使用什么mysql命令

select * from colors group by id having not group_concat(color) LIKE "%red%"
应该工作(未测试)


但是有许多id具有相同的值是很奇怪的…

选择group_concat(颜色)作为colors group by id没有像“%red%”这样的颜色这是一种糟糕的方式,我认为它应该是一个连接表,但我不知道您的数据库模式。或者类似的东西。多个ID是wierd,但这是数据与另一个表的关联方式。是的,sql和其他where子句中有一个连接,但我不需要为这个问题深入讨论所有这些。
SELECT DISTINCT id
FROM my_table
WHERE id NOT IN (
   SELECT id
   FROM my_table
   WHERE color = ?
)
SELECT DISTINCT id
FROM my_table
WHERE id NOT IN (
   SELECT id
   FROM my_table
   WHERE color = ?
)