SELECT * FROM MyTable
a | b
---+----
1 | 2
2 | 10
2 | 5
3 | 10
我希望每个数字只在每列中出现一次,即结果应为:
a | b
---+----
1 | 2
2 | 10
这可能吗?
答案 0 :(得分:1)
我建议添加一个带ID的列。然后这样做:
select a, b from mytable m1 where
a not in (select m2.a from mytable m2 where m2.id < m1.id)
and
b not in (select m3.b from mytable m3 where m3.id < m1.id)
如果您不想按ID顺序决定,可以添加另一列(如序列)。