如果值是另一列SQL中的特定值,如何从列中删除所有相同的值

时间:2018-03-29 09:11:45

标签: mysql sql

我有一张桌子。如果该值在另一列中具有另一个值,如何从一列中删除所有特定值。这是一个例子:

ID    Value
1     100
1     200
1     300
2     200
2     300
2     200
3     300
3     400
3     100
4     200
4     300

所以我现在想要删除行中100的所有值,并只显示剩余值中的1个。所以它看起来像这样。

ID    Value
2     200
4     200

最终结果的值无关紧要,只有ID。

我希望我已经很好地解释了这一点。

3 个答案:

答案 0 :(得分:1)

尝试此查询。它会检查它是否存在具有相同ID和值100的行,并相应地进行过滤:

SELECT DISTINCT t.ID
  FROM table_1 t
 WHERE NOT EXISTS (SELECT 1
                     FROM table_1 s
                    WHERE s.ID = t.ID
                      AND s.Value = 100)

答案 1 :(得分:0)

SELECT ID,MIN(Value) AS Value
FROM table1 WHERE ID NOT IN (Select Id from table1 where value=100)
GROUP BY ID

输出

ID  Value
2   200
4   200

现场演示

  

http://sqlfiddle.com/#!9/190da8/17

答案 2 :(得分:0)

您应该使用viewlets.xml只获取一个ID,使用子查询来排除值为100的ID。

distinct

Fiddle