
# CLUSTER BY
#### 功能描述
CLUSTER BY子句用于根据指定字段对数据进行分桶，并在桶内按同一字段进行排序。CLUSTER BY等效于DISTRIBUTE BY和SORT BY使用相同字段的情况。
#### 语法格式
```
SELECT projectItem [, ...] FROM table_reference   CLUSTER BY expression [, ...]
```
#### 参数说明
| 参数         | 说明                                                              |
|:---|:---|
| expression | 分桶及排序表达式。支持单字段及多字段。CLUSTER BY根据指定字段的哈希值将数据分配到不同的桶中，并在桶内按同一字段排序。 |
   
#### 注意事项
- CLUSTER BY只能按升序排序，不能指定ASC或DESC。如需指定排序方向，请使用DISTRIBUTE BY + SORT BY组合。
- CLUSTER BY等效于DISTRIBUTE BY和SORT BY使用相同字段。
 
#### 示例
根据字段score进行分桶并桶内排序：
```
SELECT * FROM student CLUSTER BY score;
```
根据多字段分桶排序：
```
SELECT * FROM student CLUSTER BY class_id, score;
```
当需要指定降序时，使用DISTRIBUTE BY + SORT BY替代：
```
SELECT * FROM student DISTRIBUTE BY score SORT BY score DESC;
```
