我有一张桌子。如果该值在另一列中具有另一个值,如何从一列中删除所有特定值。这是一个例子:
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。
我希望我已经很好地解释了这一点。
答案 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
现场演示
答案 2 :(得分:0)