ORACLE を使用しており、特定の条件を満たすテーブルからランダムな行を取得する必要があります。この場合、サンプルが役立つ可能性があることがわかりました。ただし、私が理解しているように、サンプルはテーブル全体の指定されたサイズのランダムなサブセットを返します。この場合、特定の WHERE 条件に一致する行が必要なため、テーブルにそのフィルターの行が含まれていても、クエリが行を返さない可能性があります。
SELECT column FROM ( SELECT column FROM table SAMPLE(10) WHERE COLUMN='abc' ) WHERE rownum = 1
上記のクエリでは、10% のサンプル セットに列 'abc' を含む行が含まれていない場合、空の結果が返されます (90% にそのような行が含まれている場合でも)。
この動作を修正するための提案はありますか?