# 取樣查詢Sampling queries

`TABLESAMPLE`語句是用來範例資料表。The `TABLESAMPLE` statement is used to sample the table. 它支援下列取樣方法：It supports the following sampling methods:

• `TABLESAMPLE` (x `ROWS`) ：將資料表取樣至指定的資料列數目。`TABLESAMPLE`(x `ROWS`): Sample the table down to the given number of rows.
• `TABLESAMPLE` (x `PERCENT`) ：將資料表取樣至指定的百分比。`TABLESAMPLE`(x `PERCENT`): Sample the table down to the given percentage. 請注意，百分比會定義為介於0和100之間的數位。Note that percentages are defined as a number between 0 and 100.
• `TABLESAMPLE` (`BUCKET` x `OUT OF` y) ：將資料表取樣為一 `x` `y` 小部分。`TABLESAMPLE`(`BUCKET` x `OUT OF` y): Sample the table down to a `x` out of `y` fraction.

`TABLESAMPLE` 傳回所要求的資料列或分數的大約數目。`TABLESAMPLE` returns the approximate number of rows or fraction requested.

## 語法Syntax

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

## 範例Examples

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

SELECT * FROM test TABLESAMPLE (50 PERCENT);
+--+----+
|id|name|
+--+----+
| 5|Alex|
| 2|Mary|
| 4|Fred|
| 9|Eric|
| 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|
+--+----+
``````