MySql过滤和分组

时间:2010-10-21 14:41:38

标签: mysql

我无法从关系表中过滤数据。该查询是联接的一部分,但我被困在一个基本部分。

如果找到条件,我需要删除具有特定ID的所有结果。

查询类似于:

从颜色中选择*颜色!='红色'按ID分组

id  color
1   red
1   blue
1   blue
2   green
2   blue
3   green
3   orange
4    red
5    white

返回1,2,3,5

我需要它只返回2,3,5

我不确定使用什么mysql命令

2 个答案:

答案 0 :(得分:1)

select * from colors group by id having not group_concat(color) LIKE "%red%"

应该有效(未经测试)。

但是有很多具有相同价值的ID很奇怪......

答案 1 :(得分:1)

SELECT DISTINCT id
FROM my_table
WHERE id NOT IN (
   SELECT id
   FROM my_table
   WHERE color = ?
)