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)
我是一名新的 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)