TABLESAMPLE 句

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

TABLESAMPLE ステートメントは、関係をサンプリングするために使用されます。

構文

TABLESAMPLE ( { percentage PERCENT ) |
                num_rows ROWS |
                BUCKET fraction OUT OF total } )
            [ REPEATABLE ( seed ) ]

パラメーター

  • percentage PERCENT

    サンプリングするテーブルの行の割合を指定する 0 から 100 の間の INTEGER または DECIMAL の定数 percentage

  • num_rows ROWS

    サンプリングするすべての行の絶対数を指定する常に正の INTEGER 式 num_rows

  • BUCKET fraction OUT OF total

    INTEGER 定数 total のうちでサンプリングする部分を指定する INTEGER 定数 fraction

  • REPEATABLE ( seed )

    適用対象:check marked yes Databricks SQL 「はい」のチェック マーク Databricks Runtime 11.3 LTS 以降

    常に同じ行セットを生成するために使用される、省略可能な正の INTEGER 定数 seed。 この句は、クエリを複数回再発行するときに、サンプリングされた行の同じセットが必要な場合に使用します。

注意

  • TABLESAMPLE は、要求された行または割合の概数を返します。
  • ランダム性が重要な場合は、常に TABLESAMPLE (percent PERCENT) を使用します。 TABLESAMPLE (num_rows ROWS) は単純なランダム サンプルではなく、LIMIT を使用して実装されています。

> CREATE TEMPORARY VIEW test(id, name) AS
  VALUES ( 1, 'Lisa'),
         ( 2, 'Mary'),
         ( 3, 'Evan'),
         ( 4, 'Fred'),
         ( 5, 'Alex'),
         ( 6, 'Mark'),
         ( 7, 'Lily'),
         ( 8, 'Lucy'),
         ( 9, 'Eric'),
         (10, 'Adam');
> SELECT * FROM test;
  5 Alex
  8 Lucy
  2 Mary
  4 Fred
  1 Lisa
  9 Eric
 10 Adam
  6 Mark
  7 Lily
  3 Evan

> SELECT * FROM test TABLESAMPLE (30 PERCENT) REPEATABLE (123);
  1     Lisa
  2     Mary
  3     Evan
  5     Alex
  8     Lucy

> SELECT * FROM test TABLESAMPLE (5 ROWS);
  5 Alex
  8 Lucy
  2 Mary
  4 Fred
  1 Lisa

> SELECT * FROM test TABLESAMPLE (BUCKET 4 OUT OF 10);
  8 Lucy
  2 Mary
  9 Eric
  6 Mark