2 つのコストを含むデータベース テーブルがあります。これら 2 つの列の個別のコストを見つけたいと考えています。また、これらのコストが表示されるカウントを見つけたいと考えています。テーブルは次のようになります
|id|cost1|cost2|
|1 |50 |60 |
|2 |20 |50 |
|3 |50 |70 |
|4 |20 |30 |
|5 |50 |60 |
この場合、両方の列で異なる結果が必要であり、表示される回数を数えます。だから私が望む結果は
|distinctCost|count|
|20 |2 |
|30 |1 |
|50 |4 |
|60 |2 |
|70 |1 |
そして理想的に注文された
|disctinCost1|count|
|50 |4 |
|60 |2 |
|20 |2 |
|70 |1 |
|30 |1 |
次のようなことを行うことで、2つの列で明確に取得できます
select DISTINCT c FROM (SELECT cost1 AS c FROM my_costs UNION SELECT cost2 AS c FROM my_costs);
そして、次のようにして各列のカウントを取得できます
select cost1, count(*)
from my_costs
group by cost1
order by count(*) desc;
私の問題は、両方の列のカウントを取得するにはどうすればよいですか? 個々の列ごとにカウントしてから合計する方法にこだわっています。
任意のポインタをいただければ幸いです。
Oracle DB を使用しています。
ありがとう