sql:排除重复项

kse8i1jr  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(239)

我是sql新手,需要删除select语句中的重复项。
标签如下所示:

  1. | name 1 | name 2|
  2. | John | Lukas |
  3. | Simon | John |
  4. | Lukas | John |
  5. | Lukas | Simon |

输出应如下所示:

  1. name 1 name 2
  2. John Lukas
  3. Simon John
  4. (Lukas John) this should be excluded
  5. Lukas Simon

但又有一次卢卡斯约翰在里面。我试过用distinct,但没用。有人能帮我吗?提前谢谢!

fdbelqdn

fdbelqdn1#

一种方法是:

  1. select name1, name2
  2. from t
  3. where name1 < name2 or
  4. not exists (select 1 from t t2 where t2.name1 = t.name2 and t2.name2 = t.name1);

这假设重复项只是顺序相反的对。如果你可以有完整的副本,那么使用 select distinct .

相关问题