/ /別の列(oracle g11)に関する各固有値の数のカウント - oracle11g、oracle-sqldeveloper

別の列(oracle g11)に関する各固有値の数のカウント - oracle11g、oracle-sqldeveloper

こんにちは私はこのようなデータセットを使って次のことをしようとしています:

letter  number
a   1
a   2
a   1
a   1
a   3
a   4
a   2
a   4
b   1
b   3
b   4
b   3
b   2
b   5
b   1
b   1

データセットは、私が実行したサブクエリの結果です。私はこのようにデータを書式化したいので、3より大きいカウントを持つものにフラグを立てることができます

letter number number_count
a   1   3
a   2   2
a   3   1
a   4   2
b   1   3
b   2   1
b   3   2
b   4   1
b   5   1

だから、文字列の各値に対して、私はcol 2のそれぞれのユニークな数値がカウントされ、値そのものの横に表示されます。 私はこれを試して解決するために多くの検索をしてしまったし、カウント数を変えたり、別のコードを上書きしたり、他のコードを動作させることができないので、問題を過小評価したり、私が探している答えを見つけられるようにフレーズの検索に。

どんな助けでも大いに感謝されます、私はoracle 11gデータベースにアクセスするためにSQL開発者を使用しています。

回答:

回答№1は0

だから私はあなたが探している以下のものだと思う:

select letter, number, count(letter) as number_count from table group by letter, number;

回答№2の場合は0

私は2つのデータラインを追加して、フラグを立てた結果が1つある例を示しました。

 WITH
sub_q AS (
SELECT "a" AS letter_column, 1 AS value_column FROM Dual UNION ALL
SELECT "a", 2 FROM Dual UNION ALL
SELECT "a", 1 FROM Dual UNION ALL
SELECT "a", 1 FROM Dual UNION ALL
SELECT "a", 3 FROM Dual UNION ALL
SELECT "a", 4 FROM Dual UNION ALL
SELECT "a", 2 FROM Dual UNION ALL
SELECT "a", 4 FROM Dual UNION ALL
SELECT "b", 1 FROM Dual UNION ALL
SELECT "b", 3 FROM Dual UNION ALL
SELECT "b", 4 FROM Dual UNION ALL
SELECT "b", 3 FROM Dual UNION ALL
SELECT "b", 2 FROM Dual UNION ALL
SELECT "b", 5 FROM Dual UNION ALL
SELECT "b", 1 FROM Dual UNION ALL
SELECT "b", 1 FROM Dual UNION ALL
SELECT "b", 1 FROM Dual UNION ALL
SELECT "b", 1 FROM DUal
)

SELECT
letter_column,
value_column,
COUNT(value_column) AS value_count,
CASE
WHEN COUNT(value_column) > 3 THEN 1
ELSE NULL
END AS flag_gt_3
FROM sub_q
GROUP BY
letter_column,
value_column
ORDER BY
letter_column,
value_column
;