一意の列の組み合わせの特定のセットの各タイプに対して、特定の割合のレコードを選択する必要がある Oracle テーブルがあります。
例えば、
SELECT distinct column1, column2, Column3 from TableX;
そのテーブルの一意のレコードのすべての組み合わせを提供してくれます。そのような各組み合わせの各行の % が必要です。現在、これを達成するために次のクエリを使用していますが、これは長くて遅いです。
SELECT *
FROM tableX Sample ( 3 )
WHERE Column1 = ‘value1’ and
Column2 = ‘value2’ and
Column3 = ‘value3
UNION
SELECT *
FROM tableX Sample ( 3 )
WHERE Column1 = ‘value1’ and
Column2 = ‘value2’ and
Column3 = ‘value4
UNION
…
…
SELECT *
FROM tableX Sample ( 3 )
WHERE Column1 = ‘valueP’ and
Column2 = ‘valueQ’ and
Column3 = ‘valueR’
「値」のサフィックスの組み合わせがそのテーブルで一意である場所 (最初のクエリから取得)
クエリの長さと速度を改善するにはどうすればよいですか?