现有一个users表,如下: NAME VALUE ID ---------- ---------- ---------- 甲 a 1 乙 b 2 丙 c 3 丁 d 4 现在,需要对他们进行两两组合,比如说ab和ba就是一样的,现在需要利用select语句查询出所有abcd的两两组合的情况,最后的结果应该是6个,ab,ac,ad,bc,bd,cd。
现有一个users表,如下:create table users (name char(2),value char(1),id number);
insert into users values('甲','a',1);
insert into users values('乙','b',2);
insert into users values('丙','c',3);
insert into users values('丁','d',4);
commit;select a.value||b.value result from test_j a,test_j b where a.rowid<>b.rowid and a.value <b.value order by result;
select replace (a.combo, '#') as "组合"
from
(select id,sys_connect_by_path (value, '#') || '#' combo
from (select 1 as id,value,1 as ctrl from users)
connect by prior id = id and value > prior value ) a,
(select 1 as id,value,1 as ctrl from users) b
where b.id = a.id and instr (a.combo, '#' || b.value || '#') > 0
group by a.id, a.combo
having sum (b.ctrl) = 2;select replace (a.combo, '#') as "组合"
from
(select id,sys_connect_by_path (value, '#') || '#' combo
from (select 1 as id,value,1 as ctrl from users)
connect by prior id = id and value > prior value ) a,
(select 1 as id,value,1 as ctrl from users) b
where b.id = a.id and instr (a.combo, '#' || b.value || '#') > 0
group by a.id, a.combo
having sum (b.ctrl) = 3;select replace (a.combo, '#') as "组合"
from
(select id,sys_connect_by_path (value, '#') || '#' combo
from (select 1 as id,value,1 as ctrl from users)
connect by prior id = id and value > prior value ) a,
(select 1 as id,value,1 as ctrl from users) b
where b.id = a.id and instr (a.combo, '#' || b.value || '#') > 0
group by a.id, a.combo
having sum (b.ctrl) = 4;
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号