いくつかの助けを借りて、pl sql developer でこれらのコマンドを取得しました。
SELECT CASE
WHEN t.aaa BETWEEN 1 AND 5000000 THEN '01'
WHEN t.aaa BETWEEN 5000001 AND 7000000 THEN '02'
WHEN t.aaa BETWEEN 7000001 AND 10000000 THEN '03'
WHEN t.aaa BETWEEN 10000001 AND 30000000 THEN '04'
WHEN t.aaa BETWEEN 30000001 AND 50000000 THEN '05'
ELSE '06' END T
,count(t.bbb), sum(t.aaa)
FROM t.ccc
WHERE t.ddd IN ('3','4','5','6','D','E','F')
AND t.zzz like '60%'
GROUP BY CASE
WHEN t.aaa BETWEEN 1 AND 5000000 THEN '01'
WHEN t.aaa BETWEEN 5000001 AND 7000000 THEN '02'
WHEN t.aaa BETWEEN 7000001 AND 10000000 THEN '03'
WHEN t.aaa BETWEEN 10000001 AND 30000000 THEN '04'
WHEN t.aaa BETWEEN 30000001 AND 50000000 THEN '05'
ELSE '06' END order by 1;
結果は次のとおりです。
T COUNT(T.bbb) SUM(T.aaa)
1 1019 5519981
2 878 8620000
3 2250 16499000
4 6844 4638E+11
5 6061 691E+11
6 915 8452192
そのため、さまざまな行のカウントと合計がありました。今、さまざまな列に同じ行を含める方法を知りたいです。私は 1 つとすべての(さまざまな) を意味COUNT(T.bbb)
します。SUM(T.aaa)
t.zzz
t.zzz
これらの結果の例は、行と 2 の同じ範囲に対するものですt.zzz
。
T COUNT(T.bbb) SUM(T.aaa) COUNT(T.bbb) SUM(T.aaa)
1 1019 5519981 19 654321
2 878 8620000 654 98765432
3 2250 16499000 321 3454643
4 6844 4638E+11 154 3213454
5 6061 691E+11 2158 23132464
6 915 8452192 145 341321321
t.bbb
また、量が「0」であってもすべての行が必要です。