已知:一张大表后20个字段为校验字段,值为0或1;
求输出:每个字段对应0和1的数量。
Example:
IN:
A B C D
0 0 1 0
1 0 1 1
1 1 1 0
1步: 搭建环境
SQL> desc t10;
Name Null? Type
----------------------------------------- -------- ----------------------------
A NUMBER(2)
B NUMBER(2)
C NUMBER(2)
D NUMBER(2)
2步: 录入测试数据
SQL> select * from t10;
A B C D
---------- ---------- ---------- ----------
0 0 1 0
1 0 1 1
1 1 1 0
3步: 查询结果
SQL> select
2 regexp_count(t.a,'0') a_count_0,
3 regexp_count(t.a,'1') a_count_1,
4 regexp_count(t.b,'0') b_count_0,
5 regexp_count(t.b,'1') b_count_1,
6 regexp_count(t.c,'0') c_count_0,
7 regexp_count(t.c,'1') c_count_1,
8 regexp_count(t.d,'0') d_count_0,
9 regexp_count(t.d,'1') d_count_1
10 from
11 (
12 select
13 wm_concat(a) as a,
14 wm_concat(b) as b,
wm_concat(c) as c,
15 16 wm_concat(d) as d
17 from
18 t10
19 ) t
20 ;
A_COUNT_0 A_COUNT_1 B_COUNT_0 B_COUNT_1 C_COUNT_0 C_COUNT_1 D_COUNT_0 D_COUNT_1
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
1 2 2 1 0 3 2 1
4步: 附截图

评论
有用 1
墨值悬赏


