sql查询以减少数据量

sql query to reduce amount of data

我是一名新的 oracle 开发人员,我不知道该怎么做: 所以我需要在 oracle 中创建一个查询来减少我的 returned 数据量 我有 2 条用于相同目的的记录

在第一条记录中我有

id1 = A and id2 = B

第二个

id1 = B and id2 = A

所以我需要一个查询,return 数据库中保存的每 2 条记录只有一条记录具有这种组合。

我尝试执行内部 select 或尝试从同一个 table 读取两次并过滤结果,但没有成功。

无需详细了解您的 table 结构或生成两条记录结果集的查询,我可以提供以下查询:

SELECT LEAST(id1, id2)    AS id1,
       GREATEST(id1, id2) AS id2
FROM yourTable
GROUP BY LEAST(id1, id2),
         GREATEST(id1, id2)

如果我很了解你的需求,你可以尝试以下方法:

with test(id1, id2) as (
    select 1, 2 from dual union all
    select 2, 1 from dual
)
select least(id1, id2), greatest(id1, id2)
from test
group by least(id1, id2), greatest(id1, id2)