0

ORACLE を使用しており、特定の条件を満たすテーブルからランダムな行を取得する必要があります。この場合、サンプルが役立つ可能性があることがわかりました。ただし、私が理解しているように、サンプルはテーブル全体の指定されたサイズのランダムなサブセットを返します。この場合、特定の WHERE 条件に一致する行が必要なため、テーブルにそのフィルターの行が含まれていても、クエリが行を返さない可能性があります。

SELECT column FROM ( SELECT column FROM table SAMPLE(10) WHERE COLUMN='abc' ) WHERE rownum = 1

上記のクエリでは、10% のサンプル セットに列 'abc' を含む行が含まれていない場合、空の結果が返されます (90% にそのような行が含まれている場合でも)。

この動作を修正するための提案はありますか?

4

1 に答える 1

2

これを試して:

WITH data AS (SELECT column FROM table WHERE COLUMN='abc')
SELECT column FROM data SAMPLE(10) 
WHERE rownum = 1
于 2013-04-23T16:05:12.333 に答える