Sampling von AbfragenSampling queries

Mit der- TABLESAMPLE Anweisung wird eine Stichprobe der Tabelle verwendet.The TABLESAMPLE statement is used to sample the table. Es unterstützt die folgenden Sampling-Methoden:It supports the following sampling methods:

  • TABLESAMPLE(x ROWS ): Beispiel für die Tabelle mit der angegebenen Anzahl von Zeilen.TABLESAMPLE(x ROWS): Sample the table down to the given number of rows.
    • TABLESAMPLE(x PERCENT ): Beispiel für die Tabelle bis zum angegebenen Prozentsatz.TABLESAMPLE(x PERCENT): Sample the table down to the given percentage. Beachten Sie, dass Prozentsätze als Zahl zwischen 0 und 100 definiert sind.Note that percentages are defined as a number between 0 and 100.
    • TABLESAMPLE( BUCKET x OUT OF y): eine Stichprobe der Tabelle bis zu einer x außerhalb des y Bruchteils.TABLESAMPLE(BUCKET x OUT OF y): Sample the table down to a x out of y fraction.

Hinweis

TABLESAMPLE Gibt die ungefähre Anzahl der angeforderten Zeilen oder Bruchteile zurück.TABLESAMPLE returns the approximate number of rows or fraction requested.

SyntaxSyntax

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

BeispieleExamples

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