Oracleでは、私が作業しているテーブルから集計値を取得する際に問題が発生しています。私は下のサンプルを提供しています。しかし、集約された観点からは、私はどこから始めるべきかも分かりません。私はケースとデートの両方の組み合わせを使用する必要があると思うが、どのようにフレーズするかわからない。Group ByとListAggを使用して集計情報を取得する
Record# Value
111111 KA
111111 RA
111111 HA
111112 KA
111113 RA
111114 HA
111114 RA
望ましい結果:
私のテーブルは次のようになります。私はそれらの「値」の数が限られているが、私はそこに1,000,000以上のレコードを持って、私はそれらのレコードの構成を理解する必要が
# Records only have KA only.
# Records only have RA only.
# Records only have RH only.
# Records only have HA only.
# Records only have KA and RA.
# Records only have KA and RH.
# Records only have KA, RA and RH.
and etc.
:私は何を取得したいと思いことは、レコードの数を取得することです。
私はそれのためのフィドルを作成しますが、現在壊れているようです。
create table myTable(record varchar2(100), value varchar2(100));
insert into myTable(record ,value) values(111111,'KA');
insert into myTable(record ,value) values(111111,'RA');
insert into myTable(record ,value) values(111111,'HA');
insert into myTable(record ,value) values(111112,'KA');
insert into myTable(record ,value) values(111113,'RA');
insert into myTable(record ,value) values(111114,'HA');
insert into myTable(record ,value) values(111114,'RA');
編集*、
select valuelist, count(*) as cnt
from (select record, listagg(value, ',') within group (order by value) as valuelist, count(*) as cnt
from mytable
group by record
) r
group by valuelist
order by cnt, valuelist;
を何ゴードンLinoffが提案@を使用した後、私はもっとこの
KA 2
RA 3
HA 2
代わりの
KA, RA, HA 2
KA 1
RA 1
HA, RA 1
は、私は申し訳ありませんが、あなたの質問 –
には適用されないタグを使用しないでください、私はポストを提出する問題を持っていたし、それがタグ発行した確信していました。私はそれを謝罪します。 – Amoner