我有一个包含两列数据的表格:
1,2
1,3
1,4
2,1
2,2
3,1
我只想选择独特的组合,所以我最终会得到:
1,2
1,3
1,4
2,2
因为 1,2 与 2,1 等是相同的组合
我将如何在 SQL 语句中处理它?</p>
实际上,我的表有第三列,我想添加一个基于第三列的 where 子句,以便只考虑那些行
最佳答案
SELECT * FROM (
SELECT
CASE WHEN Col1 <= Col2 THEN Col1 ELSE Col2 END AS Col1,
CASE WHEN Col1 <= Col2 THEN Col2 ELSE Col1 END AS Col2
FROM
MyTable
) Ordered
GROUP BY
Col1, Col2
您可以在 CASE
表达式上通过 GROUP
进行子查询而无需子查询,但阅读时间较长。
关于sql-server - 从 SQL Server 中的结果集中删除重复的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976538/