Samplingsfrågor

TABLESAMPLEInstruktionen används för att sampla tabellen. Den har stöd för följande metoder för sampling:

  • TABLESAMPLE(x ROWS ): sampla tabellen ned till det antal rader som anges.
  • TABLESAMPLE(x PERCENT ): sampla ned tabellen till den aktuella procent andelen. Observera att procent andelar definieras som ett tal mellan 0 och 100.
  • TABLESAMPLE( BUCKET x OUT OF y): exempel tabellen x ligger utanför y bråket.

Anteckning

TABLESAMPLE Returnerar det ungefärliga antalet rader eller bråk som begärts.

Syntax

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

Exempel

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|
+--+----+