
# GROUP BY
#### 分析语句语法
完整的分析语句语法如下：
```
SELECT [DISTINCT] (* | expression) [AS alias] [, ...]
[GROUP BY expression [, ...] [HAVING predicates]]
[ORDER BY expression [ASC | DESC] [, ...]]
[LIMIT size OFFSET offset]
```
其中，GROUP BY表示按值分组。本章节内容将介绍GROUP BY语法参数说明及示例。
#### 按字段的值分组
按字段的值分组，查看age的不同值。
```
*|SELECT age GROUP BY age
```
表1按字段的值分组 
| age |
|:---|
| 28  |
| 32  |
| 36  |
   
#### 按字段别名分组
把account_number改为num，按字段别名num分组。
```
*|SELECT account_number AS num GROUP BY num
```
表2按字段别名分组 
| num |
|:---|
| 1   |
| 16  |
| 13  |
| 18  |
   
#### 按多个字段分组
查看account_number和age分布，按多个字段分组。
```
*|SELECT account_number AS num, age GROUP BY num, age
```
表3按多个字段分组 
| num | age |
|:---|:---|
| 1   | 32  |
| 16  | 36  |
| 13  | 28  |
| 18  | 32  |
   
#### 使用SQL函数
使用SQL函数，根据lastname名长度统计日志数量。
函数相关内容请参见[函数](https://support.huaweicloud.com/usermanual-secmaster/secmaster_08_0012.html#secmaster_08_0012)。
```
*|SELECT LENGTH(lastname) AS len, COUNT(*) AS count GROUP BY LENGTH(lastname)
```
表4使用SQL函数 
| len | count |
|:---|:---|
| 4   | 2     |
| 5   | 2     |
   
