我有一个 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’
“值”中的后缀组合对于该表是唯一的(从第一个查询中获得)
如何提高查询的长度和速度?