如何从 SQL 表中删除相反的行
我有以下 SQL 表:
A|B
---
w|x
x|w
y|z
z|y
我可以构造一个将产生以下结果的查询吗:
A|B
---
w|x
y|z
总而言之,我想将这两列视为无序集,例如 (a,b) == (b,a)。
I have the following SQL table:
A|B
---
w|x
x|w
y|z
z|y
Can I construct a query which will yield the following result:
A|B
---
w|x
y|z
To summarize, I would like to treat the two columns as an unordered set, such that (a,b) == (b,a).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
“最佳”代码取决于数据库,但以下代码与 dbms 无关:
The "best" code depends on the database, but following is dbms-agnostic:
您可以尝试以下操作:
使用以下测试表
t
:它返回:
使用
LEAST
和GREATEST
还确保w x返回
而不是x w
。You could try the following:
With the following test-table
t
:it returns:
Using
LEAST
andGREATEST
also makes sure thatw x
is returned instead ofx w
.