いくつかの値の間にデータの出現回数を入れたいと思います。値が1 2 3 4 ....から100までの値を持つ列名を取ることができます。 0〜5の後、10〜15のカウントとすぐに100 所望の出力件まで私はこのようなクエリを書くことで、これを行うことができoracle sqlいくつかの値の間のデータの出現数を問い合わせる
id count(val)
1 35
2 12
3 89
4 45
5 12
のようなものですその後、5〜10のカウント。
select colname,
sum(case
when val > 0 and val < 5 then 1 else 0
end)
from tablename
group by colname.
カラムの幅が広いため、このタスクでは複数のケースを記述できません。
「0から5まで、5から10まで」 - 最初のセットまたは2番目のカウントはどこでカウントされますか? (または両方で - それを2回カウントしますか?)そして、クエリでは 'val> 0とval <5'を書いています - ここで' 0'と '5'を数えたくないのですか?あなたはあなたの心を補う必要があります。たとえば、 '0'(包括)から '5'(排他)、または 'val> = 0 and val <5'、次に 'val> = 5'および 'val <10'行または列に結果を表示しますか?列内にある場合は、すべての列名を記述する必要はありません(とにかく一般的ではありません)。また、 'val'には下限と上限がありますか? – mathguy