Mintavételezési lekérdezések

A TABLESAMPLE tábla mintavétele a utasítással használható. A következő mintavételezési módszereket támogatja:

  • TABLESAMPLEROWS(x): A tábla mintavétele a megadott számú sorra.
  • TABLESAMPLEPERCENT(x): A táblázatból a megadott százalékos arányra mintavételez. Vegye figyelembe, hogy a százalékok 0 és 100 közötti számként vannak definiálva.
  • TABLESAMPLE( BUCKET x OUT OF y): A táblát x törtrészre kell mintát y venni.

Megjegyzés

  • TABLESAMPLE A visszaadja a kért sorok vagy törtrészek hozzávetőleges számát.
  • Mindig akkor TABLESAMPLE (X PERCENT) használja, ha a véletlenszerűség fontos. TABLESAMPLE (X ROWS) A nem egyszerű véletlenszerű minta, hanem a használatával van LIMIT megvalósítva.

Syntax

TABLESAMPLE ({ integer_expression | decimal_expression } PERCENT)
    | TABLESAMPLE ( integer_expression ROWS )
    | TABLESAMPLE ( BUCKET integer_expression OUT OF integer_expression )

Példák

SELECT * FROM test;
+--+----+
|id|name|
+--+----+
| 5|Alex|
| 8|Lucy|
| 2|Mary|
| 4|Fred|
| 1|Lisa|
| 9|Eric|
|10|Adam|
| 6|Mark|
| 7|Lily|
| 3|Evan|
+--+----+

SELECT * FROM test TABLESAMPLE (50 PERCENT);
+--+----+
|id|name|
+--+----+
| 5|Alex|
| 2|Mary|
| 4|Fred|
| 9|Eric|
|10|Adam|
| 3|Evan|
+--+----+

SELECT * FROM test TABLESAMPLE (5 ROWS);
+--+----+
|id|name|
+--+----+
| 5|Alex|
| 8|Lucy|
| 2|Mary|
| 4|Fred|
| 1|Lisa|
+--+----+

SELECT * FROM test TABLESAMPLE (BUCKET 4 OUT OF 10);
+--+----+
|id|name|
+--+----+
| 8|Lucy|
| 2|Mary|
| 9|Eric|
| 6|Mark|
+--+----+