# **LAG**

返回同一字段前N行的数据。

## 语法{#grammar}

LAG(**field**, **offset**, **defval**, **partitionfield**, **orderfield**, **ordertype**)

- **field**：必需，字段名。
- **offset**：必需，偏移量，上1个或上N个的值。
- **defval**：必需，默认值，取值超出表范围时会返回默认值，通常指定为null。
- **partitionfield**：必需，分组字段，多个分组字段的时需使用partitionby，如果没有分组字段，则指定为null。
- **orderfield**：必需，排序字段，多个排序字段时需要使用orderby。
- **ordertype**：可选，指定排序类型，'asc' 升序，'desc' 降序，默认为升序。

## 示例{#examples}

1. `LAG([纳税表].[企业] , 1, null, [纳税表].[地区], [纳税表].[纳税额] ,'ASC')`  按地区分组，纳税额升序，返回企业前1行的值。
2. `LAG([纳税表].[企业] , 1, null, null, [纳税表].[纳税额] ,'ASC')`  按纳税额升序，返回企业前1行的值。
3. `LAG([纳税表].[企业] , 1, null, partitionby([纳税表].[地区],[纳税表].[行业]), orderby([纳税表].[纳税额] ,'desc',[纳税表].[企业]))`  按地区、行业分组，纳税额降序，如果纳税额相等，按企业升序，返回企业前1行的值。
